<html>
    <head>
        <meta charset="utf-8">
        
            <script src="lib/bindings/utils.js"></script>
            <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/vis-network/9.1.2/dist/dist/vis-network.min.css" integrity="sha512-WgxfT5LWjfszlPHXRmBWHkV2eceiWTOBvrKCNbdgDYTHrT2AeLCGbF4sZlZw3UMN3WtL0tGUoIAKsu8mllg/XA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
            <script src="https://cdnjs.cloudflare.com/ajax/libs/vis-network/9.1.2/dist/vis-network.min.js" integrity="sha512-LnvoEWDFrqGHlHmDD2101OrLcbsfkrzoSpvtSQtxK3RMnRV0eOkhhBN2dXHKRrUU8p2DGRTk35n4O8nWSVe1mQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
            
        
<center>
<h1></h1>
</center>

<!-- <link rel="stylesheet" href="../node_modules/vis/dist/vis.min.css" type="text/css" />
<script type="text/javascript" src="../node_modules/vis/dist/vis.js"> </script>-->
        <link
          href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/css/bootstrap.min.css"
          rel="stylesheet"
          integrity="sha384-eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6"
          crossorigin="anonymous"
        />
        <script
          src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/js/bootstrap.bundle.min.js"
          integrity="sha384-JEW9xMcG8R+pH31jmWH6WWP0WintQrMb4s7ZOdauHnUtxwoG2vI5DkLtS3qm9Ekf"
          crossorigin="anonymous"
        ></script>


        <center>
          <h1></h1>
        </center>
        <style type="text/css">

             #mynetwork {
                 width: 100%;
                 height: 600px;
                 background-color: #ffffff;
                 border: 1px solid lightgray;
                 position: relative;
                 float: left;
             }

             
             #loadingBar {
                 position:absolute;
                 top:0px;
                 left:0px;
                 width: 100%;
                 height: 600px;
                 background-color:rgba(200,200,200,0.8);
                 -webkit-transition: all 0.5s ease;
                 -moz-transition: all 0.5s ease;
                 -ms-transition: all 0.5s ease;
                 -o-transition: all 0.5s ease;
                 transition: all 0.5s ease;
                 opacity:1;
             }

             #bar {
                 position:absolute;
                 top:0px;
                 left:0px;
                 width:20px;
                 height:20px;
                 margin:auto auto auto auto;
                 border-radius:11px;
                 border:2px solid rgba(30,30,30,0.05);
                 background: rgb(0, 173, 246); /* Old browsers */
                 box-shadow: 2px 0px 4px rgba(0,0,0,0.4);
             }

             #border {
                 position:absolute;
                 top:10px;
                 left:10px;
                 width:500px;
                 height:23px;
                 margin:auto auto auto auto;
                 box-shadow: 0px 0px 4px rgba(0,0,0,0.2);
                 border-radius:10px;
             }

             #text {
                 position:absolute;
                 top:8px;
                 left:530px;
                 width:30px;
                 height:50px;
                 margin:auto auto auto auto;
                 font-size:22px;
                 color: #000000;
             }

             div.outerBorder {
                 position:relative;
                 top:400px;
                 width:600px;
                 height:44px;
                 margin:auto auto auto auto;
                 border:8px solid rgba(0,0,0,0.1);
                 background: rgb(252,252,252); /* Old browsers */
                 background: -moz-linear-gradient(top,  rgba(252,252,252,1) 0%, rgba(237,237,237,1) 100%); /* FF3.6+ */
                 background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(252,252,252,1)), color-stop(100%,rgba(237,237,237,1))); /* Chrome,Safari4+ */
                 background: -webkit-linear-gradient(top,  rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* Chrome10+,Safari5.1+ */
                 background: -o-linear-gradient(top,  rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* Opera 11.10+ */
                 background: -ms-linear-gradient(top,  rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* IE10+ */
                 background: linear-gradient(to bottom,  rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* W3C */
                 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcfcfc', endColorstr='#ededed',GradientType=0 ); /* IE6-9 */
                 border-radius:72px;
                 box-shadow: 0px 0px 10px rgba(0,0,0,0.2);
             }
             

             

             
        </style>
    </head>


    <body>
        <div class="card" style="width: 100%">
            
            
            <div id="mynetwork" class="card-body"></div>
        </div>

        
            <div id="loadingBar">
              <div class="outerBorder">
                <div id="text">0%</div>
                <div id="border">
                  <div id="bar"></div>
                </div>
              </div>
            </div>
        
        

        <script type="text/javascript">

              // initialize global variables.
              var edges;
              var nodes;
              var allNodes;
              var allEdges;
              var nodeColors;
              var originalNodes;
              var network;
              var container;
              var options, data;
              var filter = {
                  item : '',
                  property : '',
                  value : []
              };

              

              

              // This method is responsible for drawing the graph, returns the drawn network
              function drawGraph() {
                  var container = document.getElementById('mynetwork');

                  

                  // parsing and collecting nodes and edges from the python
                  nodes = new vis.DataSet([{"color": "#97c2fc", "desc": "\u521d\u59cb\u5316\u8ba4\u8bc1\u4e0a\u4e0b\u6587", "end_code_line": 48, "id": "auth-bsdauth.c|bsdauth_init_ctx", "label": "auth-bsdauth.c|bsdauth_init_ctx", "name": "auth-bsdauth.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth-bsdauth.c", "shape": "dot", "size": 10, "source_code": " 44: static void *\n 45: bsdauth_init_ctx(Authctxt *authctxt)\n 46: {\n 47: \treturn authctxt;\n 48: }", "source_name": "bsdauth_init_ctx", "start_code_line": 44, "target_name": ""}, {"color": "#97c2fc", "desc": "\u521d\u59cb\u5316\u8ba4\u8bc1\u4e0a\u4e0b\u6587", "end_code_line": 48, "id": "auth-bsdauth.c|", "label": "auth-bsdauth.c|", "name": "auth-bsdauth.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth-bsdauth.c", "shape": "dot", "size": 10, "source_code": " 44: static void *\n 45: bsdauth_init_ctx(Authctxt *authctxt)\n 46: {\n 47: \treturn authctxt;\n 48: }", "source_name": "bsdauth_init_ctx", "start_code_line": 44, "target_name": ""}, {"color": "#97c2fc", "desc": "\u590d\u5236\u5b57\u7b26\u4e32", "end_code_line": 90, "id": "auth-bsdauth.c|bsdauth_query", "label": "auth-bsdauth.c|bsdauth_query", "name": "auth-bsdauth.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth-bsdauth.c", "shape": "dot", "size": 10, "source_code": " 90: \t(*prompts)[0] = xstrdup(challenge);", "source_name": "bsdauth_query", "start_code_line": 90, "target_name": "xstrdup"}, {"color": "#97c2fc", "desc": "\u8c03\u8bd5\u4fe1\u606f", "end_code_line": 63, "id": "auth-bsdauth.c|debug2", "label": "auth-bsdauth.c|debug2", "name": "auth-bsdauth.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth-bsdauth.c", "shape": "dot", "size": 10, "source_code": " 63: \t\tdebug2(\"bsdauth_query: try reuse session\");", "source_name": "bsdauth_query", "start_code_line": 63, "target_name": "debug2"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u8ba4\u8bc1\u9879\u76ee", "end_code_line": 64, "id": "auth-bsdauth.c|auth_getitem", "label": "auth-bsdauth.c|auth_getitem", "name": "auth-bsdauth.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth-bsdauth.c", "shape": "dot", "size": 10, "source_code": " 64: \t\tchallenge = auth_getitem(authctxt-\u003eas, AUTHV_CHALLENGE);", "source_name": "bsdauth_query", "start_code_line": 64, "target_name": "auth_getitem"}, {"color": "#97c2fc", "desc": "\u5173\u95ed\u8ba4\u8bc1\u4f1a\u8bdd", "end_code_line": 66, "id": "auth-bsdauth.c|auth_close", "label": "auth-bsdauth.c|auth_close", "name": "auth-bsdauth.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth-bsdauth.c", "shape": "dot", "size": 10, "source_code": " 66: \t\t\tauth_close(authctxt-\u003eas);", "source_name": "bsdauth_query", "start_code_line": 66, "target_name": "auth_close"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u7528\u6237\u6311\u6218", "end_code_line": 75, "id": "auth-bsdauth.c|auth_userchallenge", "label": "auth-bsdauth.c|auth_userchallenge", "name": "auth-bsdauth.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth-bsdauth.c", "shape": "dot", "size": 10, "source_code": " 75: \t\tauthctxt-\u003eas = auth_userchallenge(authctxt-\u003euser,", "source_name": "bsdauth_query", "start_code_line": 75, "target_name": "auth_userchallenge"}, {"color": "#97c2fc", "desc": "\u590d\u5236\u5b57\u7b26\u4e32", "end_code_line": 85, "id": "auth-bsdauth.c|xstrdup", "label": "auth-bsdauth.c|xstrdup", "name": "auth-bsdauth.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth-bsdauth.c", "shape": "dot", "size": 10, "source_code": " 85: \t*name = xstrdup(\"\");", "source_name": "bsdauth_query", "start_code_line": 85, "target_name": "xstrdup"}, {"color": "#97c2fc", "desc": "\u5206\u914d\u5185\u5b58", "end_code_line": 88, "id": "auth-bsdauth.c|xcalloc", "label": "auth-bsdauth.c|xcalloc", "name": "auth-bsdauth.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth-bsdauth.c", "shape": "dot", "size": 10, "source_code": " 88: \t*prompts = xcalloc(*numprompts, sizeof(char *));", "source_name": "bsdauth_query", "start_code_line": 88, "target_name": "xcalloc"}, {"color": "#97c2fc", "desc": "\u7528\u6237\u54cd\u5e94\u5904\u7406", "end_code_line": 110, "id": "auth-bsdauth.c|bsdauth_respond", "label": "auth-bsdauth.c|bsdauth_respond", "name": "auth-bsdauth.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth-bsdauth.c", "shape": "dot", "size": 10, "source_code": "110: \tauthok = auth_userresponse(authctxt-\u003eas, responses[0], 0);", "source_name": "bsdauth_respond", "start_code_line": 110, "target_name": "auth_userresponse"}, {"color": "#97c2fc", "desc": "\u7528\u6237\u54cd\u5e94\u5904\u7406", "end_code_line": 110, "id": "auth-bsdauth.c|auth_userresponse", "label": "auth-bsdauth.c|auth_userresponse", "name": "auth-bsdauth.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth-bsdauth.c", "shape": "dot", "size": 10, "source_code": "110: \tauthok = auth_userresponse(authctxt-\u003eas, responses[0], 0);", "source_name": "bsdauth_respond", "start_code_line": 110, "target_name": "auth_userresponse"}, {"color": "#97c2fc", "desc": "\u5173\u95ed\u8ba4\u8bc1\u4f1a\u8bdd", "end_code_line": 123, "id": "auth-bsdauth.c|bsdauth_free_ctx", "label": "auth-bsdauth.c|bsdauth_free_ctx", "name": "auth-bsdauth.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth-bsdauth.c", "shape": "dot", "size": 10, "source_code": "123: \t\tauth_close(authctxt-\u003eas);", "source_name": "bsdauth_free_ctx", "start_code_line": 123, "target_name": "auth_close"}, {"color": "#97c2fc", "desc": "\u91ca\u653essh\u7f13\u51b2\u533a", "end_code_line": 156, "id": "auth2-hostbased.c|userauth_hostbased", "label": "auth2-hostbased.c|userauth_hostbased", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "156: \tsshbuf_free(b);", "source_name": "userauth_hostbased", "start_code_line": 156, "target_name": "sshbuf_free"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u5b57\u7b26\u4e32\u6570\u636e", "end_code_line": 75, "id": "auth2-hostbased.c|sshpkt_get_cstring", "label": "auth2-hostbased.c|sshpkt_get_cstring", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": " 61: {\n 62: \tAuthctxt *authctxt = ssh-\u003eauthctxt;\n 63: \tstruct sshbuf *b;\n 64: \tstruct sshkey *key = NULL;\n 65: \tchar *pkalg, *cuser, *chost;\n 66: \tu_char *pkblob, *sig;\n 67: \tsize_t alen, blen, slen;\n 68: \tint r, pktype, authenticated = 0;\n 69: \n 70: \t/* XXX use sshkey_froms() */\n 71: \tif ((r = sshpkt_get_cstring(ssh, \u0026pkalg, \u0026alen)) != 0 ||\n 72: \t    (r = sshpkt_get_string(ssh, \u0026pkblob, \u0026blen)) != 0 ||\n 73: \t    (r = sshpkt_get_cstring(ssh, \u0026chost, NULL)) != 0 ||\n 74: \t    (r = sshpkt_get_cstring(ssh, \u0026cuser, NULL)) != 0 ||\n 75: \t    (r = sshpkt_get_string(ssh, \u0026sig, \u0026slen)) != 0)", "source_name": "userauth_hostbased", "start_code_line": 61, "target_name": "sshpkt_get_cstring"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u5b57\u7b26\u4e32\u6570\u636e", "end_code_line": 72, "id": "auth2-hostbased.c|sshpkt_get_string", "label": "auth2-hostbased.c|sshpkt_get_string", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": " 71: \tif ((r = sshpkt_get_cstring(ssh, \u0026pkalg, \u0026alen)) != 0 ||\n 72: \t    (r = sshpkt_get_string(ssh, \u0026pkblob, \u0026blen)) != 0 ||", "source_name": "userauth_hostbased", "start_code_line": 71, "target_name": "sshpkt_get_string"}, {"color": "#97c2fc", "desc": "\u8c03\u8bd5\u8f93\u51fa\u7528\u6237\u4e3b\u673a\u4fe1\u606f", "end_code_line": 79, "id": "auth2-hostbased.c|debug_f", "label": "auth2-hostbased.c|debug_f", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": " 78: \tdebug_f(\"cuser %s chost %s pkalg %s slen %zu\",\n 79: \t    cuser, chost, pkalg, slen);", "source_name": "userauth_hostbased", "start_code_line": 78, "target_name": "debug_f"}, {"color": "#97c2fc", "desc": "\u6839\u636e\u540d\u79f0\u83b7\u53d6\u5bc6\u94a5\u7c7b\u578b", "end_code_line": 84, "id": "auth2-hostbased.c|sshkey_type_from_name", "label": "auth2-hostbased.c|sshkey_type_from_name", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": " 84: \tpktype = sshkey_type_from_name(pkalg);", "source_name": "userauth_hostbased", "start_code_line": 84, "target_name": "sshkey_type_from_name"}, {"color": "#97c2fc", "desc": "\u8bb0\u5f55\u65e5\u5fd7\uff1a\u4e0d\u652f\u6301\u7684\u516c\u94a5\u7b97\u6cd5", "end_code_line": 89, "id": "auth2-hostbased.c|logit_f", "label": "auth2-hostbased.c|logit_f", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": " 87: \t\tlogit_f(\"unsupported public key algorithm: %s\",\n 88: \t\t    pkalg);\n 89: \t\tgoto done;", "source_name": "userauth_hostbased", "start_code_line": 87, "target_name": "logit_f"}, {"color": "#97c2fc", "desc": "\u4ece\u6570\u636e\u5757\u521b\u5efa\u516c\u94a5", "end_code_line": 91, "id": "auth2-hostbased.c|sshkey_from_blob", "label": "auth2-hostbased.c|sshkey_from_blob", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": " 91: \tif ((r = sshkey_from_blob(pkblob, blen, \u0026key)) != 0) {", "source_name": "userauth_hostbased", "start_code_line": 91, "target_name": "sshkey_from_blob"}, {"color": "#97c2fc", "desc": "\u8bb0\u5f55\u9519\u8bef\u4fe1\u606f\uff1a\u4ece\u6570\u636e\u5757\u521b\u5efa\u5bc6\u94a5\u5931\u8d25", "end_code_line": 93, "id": "auth2-hostbased.c|error_fr", "label": "auth2-hostbased.c|error_fr", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": " 92: \t\terror_fr(r, \"key_from_blob\");\n 93: \t\tgoto done;", "source_name": "userauth_hostbased", "start_code_line": 92, "target_name": "error_fr"}, {"color": "#97c2fc", "desc": "\u8bb0\u5f55\u9519\u8bef\u4fe1\u606f\uff1a\u65e0\u6cd5\u89e3\u7801\u5bc6\u94a5", "end_code_line": 97, "id": "auth2-hostbased.c|error_f", "label": "auth2-hostbased.c|error_f", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": " 96: \t\terror_f(\"cannot decode key: %s\", pkalg);\n 97: \t\tgoto done;", "source_name": "userauth_hostbased", "start_code_line": 96, "target_name": "error_f"}, {"color": "#97c2fc", "desc": "\u5339\u914d\u516c\u94a5\u7b97\u6cd5", "end_code_line": 104, "id": "auth2-hostbased.c|match_pattern_list", "label": "auth2-hostbased.c|match_pattern_list", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "104: \tif (match_pattern_list(pkalg, options.hostbased_accepted_algos, 0) != 1) {", "source_name": "userauth_hostbased", "start_code_line": 104, "target_name": "match_pattern_list"}, {"color": "#97c2fc", "desc": "\u68c0\u67e5\u8bc1\u4e66\u7b7e\u540d\u7c7b\u578b", "end_code_line": 110, "id": "auth2-hostbased.c|sshkey_check_cert_sigtype", "label": "auth2-hostbased.c|sshkey_check_cert_sigtype", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "109: \tif ((r = sshkey_check_cert_sigtype(key,\n110: \t    options.ca_sign_algorithms)) != 0) {", "source_name": "userauth_hostbased", "start_code_line": 109, "target_name": "sshkey_check_cert_sigtype"}, {"color": "#97c2fc", "desc": "\u8bb0\u5f55\u65e5\u5fd7\uff1a\u8bc1\u4e66\u7b7e\u540d\u7b97\u6cd5\u4e0d\u7b26\u5408", "end_code_line": 114, "id": "auth2-hostbased.c|logit_fr", "label": "auth2-hostbased.c|logit_fr", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "111: \t\tlogit_fr(r, \"certificate signature algorithm %s\",\n112: \t\t    (key-\u003ecert == NULL || key-\u003ecert-\u003esignature_type == NULL) ?\n113: \t\t    \"(null)\" : key-\u003ecert-\u003esignature_type);\n114: \t\tgoto done;", "source_name": "userauth_hostbased", "start_code_line": 111, "target_name": "logit_fr"}, {"color": "#97c2fc", "desc": "\u68c0\u67e5RSA\u5bc6\u94a5\u957f\u5ea6", "end_code_line": 117, "id": "auth2-hostbased.c|sshkey_check_rsa_length", "label": "auth2-hostbased.c|sshkey_check_rsa_length", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "116: \tif ((r = sshkey_check_rsa_length(key,\n117: \t    options.required_rsa_size)) != 0) {", "source_name": "userauth_hostbased", "start_code_line": 116, "target_name": "sshkey_check_rsa_length"}, {"color": "#97c2fc", "desc": "\u8bb0\u5f55\u65e5\u5fd7\uff1a\u62d2\u7edd\u4e0d\u5408\u89c4\u7684RSA\u5bc6\u94a5", "end_code_line": 120, "id": "auth2-hostbased.c|logit_r", "label": "auth2-hostbased.c|logit_r", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "118: \t\tlogit_r(r, \"refusing %s key\", sshkey_type(key));\n119: \t\tgoto done;\n120: \t}", "source_name": "userauth_hostbased", "start_code_line": 118, "target_name": "logit_r"}, {"color": "#97c2fc", "desc": "\u521b\u5efa\u65b0\u7684ssh\u7f13\u51b2\u533a", "end_code_line": 127, "id": "auth2-hostbased.c|sshbuf_new", "label": "auth2-hostbased.c|sshbuf_new", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "127: \tif ((b = sshbuf_new()) == NULL)", "source_name": "userauth_hostbased", "start_code_line": 127, "target_name": "sshbuf_new"}, {"color": "#97c2fc", "desc": "\u8bb0\u5f55\u9519\u8bef\uff1asshbuf_new\u5931\u8d25", "end_code_line": 128, "id": "auth2-hostbased.c|fatal_f", "label": "auth2-hostbased.c|fatal_f", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "128: \t\tfatal_f(\"sshbuf_new failed\");", "source_name": "userauth_hostbased", "start_code_line": 128, "target_name": "fatal_f"}, {"color": "#97c2fc", "desc": "\u5411ssh\u7f13\u51b2\u533a\u6dfb\u52a0\u5b57\u7b26\u4e32", "end_code_line": 130, "id": "auth2-hostbased.c|sshbuf_put_stringb", "label": "auth2-hostbased.c|sshbuf_put_stringb", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "130: \tif ((r = sshbuf_put_stringb(b, ssh-\u003ekex-\u003esession_id)) != 0 ||", "source_name": "userauth_hostbased", "start_code_line": 130, "target_name": "sshbuf_put_stringb"}, {"color": "#97c2fc", "desc": "\u5411ssh\u7f13\u51b2\u533a\u6dfb\u52a0\u5b57\u8282", "end_code_line": 131, "id": "auth2-hostbased.c|sshbuf_put_u8", "label": "auth2-hostbased.c|sshbuf_put_u8", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "131: \t    (r = sshbuf_put_u8(b, SSH2_MSG_USERAUTH_REQUEST)) != 0 ||", "source_name": "userauth_hostbased", "start_code_line": 131, "target_name": "sshbuf_put_u8"}, {"color": "#97c2fc", "desc": "\u5411ssh\u7f13\u51b2\u533a\u6dfb\u52a0C\u5b57\u7b26\u4e32", "end_code_line": 134, "id": "auth2-hostbased.c|sshbuf_put_cstring", "label": "auth2-hostbased.c|sshbuf_put_cstring", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "132: \t    (r = sshbuf_put_cstring(b, authctxt-\u003euser)) != 0 ||\n133: \t    (r = sshbuf_put_cstring(b, authctxt-\u003eservice)) != 0 ||\n134: \t    (r = sshbuf_put_cstring(b, method)) != 0 ||", "source_name": "userauth_hostbased", "start_code_line": 132, "target_name": "sshbuf_put_cstring"}, {"color": "#97c2fc", "desc": "\u8bb0\u5f55\u9519\u8bef\u4fe1\u606f\uff1a\u91cd\u6784\u6570\u636e\u5305\u5931\u8d25", "end_code_line": 139, "id": "auth2-hostbased.c|fatal_fr", "label": "auth2-hostbased.c|fatal_fr", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "139: \t\tfatal_fr(r, \"reconstruct packet\");", "source_name": "userauth_hostbased", "start_code_line": 139, "target_name": "fatal_fr"}, {"color": "#97c2fc", "desc": "\u8bb0\u5f55\u8ba4\u8bc1\u4fe1\u606f", "end_code_line": 145, "id": "auth2-hostbased.c|auth2_record_info", "label": "auth2-hostbased.c|auth2_record_info", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "144: \tauth2_record_info(authctxt,\n145: \t    \"client user \\\"%.100s\\\", client host \\\"%.100s\\\"\", cuser, chost);", "source_name": "userauth_hostbased", "start_code_line": 144, "target_name": "auth2_record_info"}, {"color": "#97c2fc", "desc": "\u68c0\u67e5\u4e3b\u673a\u5bc6\u94a5\u6743\u9650", "end_code_line": 150, "id": "auth2-hostbased.c|mm_hostbased_key_allowed", "label": "auth2-hostbased.c|mm_hostbased_key_allowed", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "149: \tif (mm_hostbased_key_allowed(ssh, authctxt-\u003epw, cuser,\n150: \t    chost, key) \u0026\u0026", "source_name": "userauth_hostbased", "start_code_line": 149, "target_name": "mm_hostbased_key_allowed"}, {"color": "#97c2fc", "desc": "\u9a8c\u8bc1SSH\u5bc6\u94a5", "end_code_line": 152, "id": "auth2-hostbased.c|mm_sshkey_verify", "label": "auth2-hostbased.c|mm_sshkey_verify", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "151: \t    mm_sshkey_verify(key, sig, slen,\n152: \t    sshbuf_ptr(b), sshbuf_len(b), pkalg, ssh-\u003ecompat, NULL) == 0)", "source_name": "userauth_hostbased", "start_code_line": 151, "target_name": "mm_sshkey_verify"}, {"color": "#97c2fc", "desc": "\u8bb0\u5f55\u8ba4\u8bc1\u5bc6\u94a5\u4fe1\u606f", "end_code_line": 155, "id": "auth2-hostbased.c|auth2_record_key", "label": "auth2-hostbased.c|auth2_record_key", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "155: \tauth2_record_key(authctxt, authenticated, key);", "source_name": "userauth_hostbased", "start_code_line": 155, "target_name": "auth2_record_key"}, {"color": "#97c2fc", "desc": "\u91ca\u653essh\u7f13\u51b2\u533a", "end_code_line": 156, "id": "auth2-hostbased.c|sshbuf_free", "label": "auth2-hostbased.c|sshbuf_free", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "156: \tsshbuf_free(b);", "source_name": "userauth_hostbased", "start_code_line": 156, "target_name": "sshbuf_free"}, {"color": "#97c2fc", "desc": "\u91ca\u653e\u5185\u5b58", "end_code_line": 249, "id": "auth2-hostbased.c|hostbased_key_allowed", "label": "auth2-hostbased.c|hostbased_key_allowed", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "249: \t\tfree(fp);", "source_name": "hostbased_key_allowed", "start_code_line": 249, "target_name": "free"}, {"color": "#97c2fc", "desc": "\u68c0\u67e5\u5bc6\u94a5\u662f\u5426\u88ab\u64a4\u9500", "end_code_line": 178, "id": "auth2-hostbased.c|auth_key_is_revoked", "label": "auth2-hostbased.c|auth_key_is_revoked", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "178: \tif (auth_key_is_revoked(key))", "source_name": "hostbased_key_allowed", "start_code_line": 178, "target_name": "auth_key_is_revoked"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u89c4\u8303\u4e3b\u673a\u540d", "end_code_line": 181, "id": "auth2-hostbased.c|auth_get_canonical_hostname", "label": "auth2-hostbased.c|auth_get_canonical_hostname", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "181: \tresolvedname = auth_get_canonical_hostname(ssh, options.use_dns);", "source_name": "hostbased_key_allowed", "start_code_line": 181, "target_name": "auth_get_canonical_hostname"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u8fdc\u7a0bIP\u5730\u5740", "end_code_line": 182, "id": "auth2-hostbased.c|ssh_remote_ipaddr", "label": "auth2-hostbased.c|ssh_remote_ipaddr", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "182: \tipaddr = ssh_remote_ipaddr(ssh);", "source_name": "hostbased_key_allowed", "start_code_line": 182, "target_name": "ssh_remote_ipaddr"}, {"color": "#97c2fc", "desc": "\u9a8c\u8bc1\u7528\u6237\u4e3b\u673a\u540d", "end_code_line": 194, "id": "auth2-hostbased.c|auth_rhosts2", "label": "auth2-hostbased.c|auth_rhosts2", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "193: \t\tif (auth_rhosts2(pw, cuser, chost, chost) == 0) {\n194: \t\t\tdebug2_f(\"auth_rhosts2 refused user \\\"%.100s\\\" \"", "source_name": "hostbased_key_allowed", "start_code_line": 193, "target_name": "auth_rhosts2"}, {"color": "#97c2fc", "desc": "\u6bd4\u8f83\u5b57\u7b26\u4e32\u4e0d\u533a\u5206\u5927\u5c0f\u5199", "end_code_line": 200, "id": "auth2-hostbased.c|strcasecmp", "label": "auth2-hostbased.c|strcasecmp", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "200: \t\tif (strcasecmp(resolvedname, chost) != 0)", "source_name": "hostbased_key_allowed", "start_code_line": 200, "target_name": "strcasecmp"}, {"color": "#97c2fc", "desc": "\u68c0\u67e5\u5bc6\u94a5\u662f\u5426\u4e3a\u8bc1\u4e66", "end_code_line": 214, "id": "auth2-hostbased.c|sshkey_is_cert", "label": "auth2-hostbased.c|sshkey_is_cert", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "214: \tif (sshkey_is_cert(key) \u0026\u0026", "source_name": "hostbased_key_allowed", "start_code_line": 214, "target_name": "sshkey_is_cert"}, {"color": "#97c2fc", "desc": "\u68c0\u67e5\u8bc1\u4e66\u7684\u6388\u6743", "end_code_line": 215, "id": "auth2-hostbased.c|sshkey_cert_check_authority_now", "label": "auth2-hostbased.c|sshkey_cert_check_authority_now", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "215: \t    sshkey_cert_check_authority_now(key, 1, 0, 0, lookup, \u0026reason)) {", "source_name": "hostbased_key_allowed", "start_code_line": 215, "target_name": "sshkey_cert_check_authority_now"}, {"color": "#97c2fc", "desc": "\u68c0\u67e5\u5bc6\u94a5\u5728\u4e3b\u673a\u6587\u4ef6\u4e2d\u7684\u72b6\u6001", "end_code_line": 222, "id": "auth2-hostbased.c|check_key_in_hostfiles", "label": "auth2-hostbased.c|check_key_in_hostfiles", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "221: \thost_status = check_key_in_hostfiles(pw, key, lookup,\n222: \t    _PATH_SSH_SYSTEM_HOSTFILE,", "source_name": "hostbased_key_allowed", "start_code_line": 221, "target_name": "check_key_in_hostfiles"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u5bc6\u94a5\u6307\u7eb9", "end_code_line": 236, "id": "auth2-hostbased.c|sshkey_fingerprint", "label": "auth2-hostbased.c|sshkey_fingerprint", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "235: \t\t\tif ((fp = sshkey_fingerprint(key-\u003ecert-\u003esignature_key,\n236: \t\t\t    options.fingerprint_hash, SSH_FP_DEFAULT)) == NULL)", "source_name": "hostbased_key_allowed", "start_code_line": 235, "target_name": "sshkey_fingerprint"}, {"color": "#97c2fc", "desc": "\u8f93\u51fa\u63a5\u6536\u8bc1\u4e66\u7684\u4fe1\u606f", "end_code_line": 241, "id": "auth2-hostbased.c|verbose", "label": "auth2-hostbased.c|verbose", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "238: \t\t\tverbose(\"Accepted certificate ID \\\"%s\\\" signed by \"\n239: \t\t\t    \"%s CA %s from %s@%s\", key-\u003ecert-\u003ekey_id,\n240: \t\t\t    sshkey_type(key-\u003ecert-\u003esignature_key), fp,\n241: \t\t\t    cuser, lookup);", "source_name": "hostbased_key_allowed", "start_code_line": 238, "target_name": "verbose"}, {"color": "#97c2fc", "desc": "\u91ca\u653e\u5185\u5b58", "end_code_line": 249, "id": "auth2-hostbased.c|free", "label": "auth2-hostbased.c|free", "name": "auth2-hostbased.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-hostbased.c", "shape": "dot", "size": 10, "source_code": "249: \t\tfree(fp);", "source_name": "hostbased_key_allowed", "start_code_line": 249, "target_name": "free"}, {"color": "#97c2fc", "desc": "\u8ba4\u8bc1\u6311\u6218", "end_code_line": 66, "id": "auth2-kbdint.c|userauth_kbdint", "label": "auth2-kbdint.c|userauth_kbdint", "name": "auth2-kbdint.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-kbdint.c", "shape": "dot", "size": 10, "source_code": "48: userauth_kbdint(struct ssh *ssh, const char *method)\n49: {\n50: \tint r, authenticated = 0;\n51: \tchar *lang, *devs;\n52: \n53: \tif ((r = sshpkt_get_cstring(ssh, \u0026lang, NULL)) != 0 ||\n54: \t    (r = sshpkt_get_cstring(ssh, \u0026devs, NULL)) != 0 ||\n55: \t    (r = sshpkt_get_end(ssh)) != 0)\n56: \t\tfatal_fr(r, \"parse packet\");\n57: \n58: \tdebug(\"keyboard-interactive devs %s\", devs);\n59: \n60: \tif (options.kbd_interactive_authentication)\n61: \t\tauthenticated = auth2_challenge(ssh, devs);\n62: \n63: \tfree(devs);\n64: \tfree(lang);\n65: \treturn authenticated;\n66: }", "source_name": "userauth_kbdint", "start_code_line": 48, "target_name": "auth2_challenge"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u5b57\u7b26\u4e32", "end_code_line": 66, "id": "auth2-kbdint.c|sshpkt_get_cstring", "label": "auth2-kbdint.c|sshpkt_get_cstring", "name": "auth2-kbdint.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-kbdint.c", "shape": "dot", "size": 10, "source_code": "48: userauth_kbdint(struct ssh *ssh, const char *method)\n49: {\n50: \tint r, authenticated = 0;\n51: \tchar *lang, *devs;\n52: \n53: \tif ((r = sshpkt_get_cstring(ssh, \u0026lang, NULL)) != 0 ||\n54: \t    (r = sshpkt_get_cstring(ssh, \u0026devs, NULL)) != 0 ||\n55: \t    (r = sshpkt_get_end(ssh)) != 0)\n56: \t\tfatal_fr(r, \"parse packet\");\n57: \n58: \tdebug(\"keyboard-interactive devs %s\", devs);\n59: \n60: \tif (options.kbd_interactive_authentication)\n61: \t\tauthenticated = auth2_challenge(ssh, devs);\n62: \n63: \tfree(devs);\n64: \tfree(lang);\n65: \treturn authenticated;\n66: }", "source_name": "userauth_kbdint", "start_code_line": 48, "target_name": "sshpkt_get_cstring"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u6570\u636e\u7ed3\u675f", "end_code_line": 66, "id": "auth2-kbdint.c|sshpkt_get_end", "label": "auth2-kbdint.c|sshpkt_get_end", "name": "auth2-kbdint.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-kbdint.c", "shape": "dot", "size": 10, "source_code": "48: userauth_kbdint(struct ssh *ssh, const char *method)\n49: {\n50: \tint r, authenticated = 0;\n51: \tchar *lang, *devs;\n52: \n53: \tif ((r = sshpkt_get_cstring(ssh, \u0026lang, NULL)) != 0 ||\n54: \t    (r = sshpkt_get_cstring(ssh, \u0026devs, NULL)) != 0 ||\n55: \t    (r = sshpkt_get_end(ssh)) != 0)\n56: \t\tfatal_fr(r, \"parse packet\");\n57: \n58: \tdebug(\"keyboard-interactive devs %s\", devs);\n59: \n60: \tif (options.kbd_interactive_authentication)\n61: \t\tauthenticated = auth2_challenge(ssh, devs);\n62: \n63: \tfree(devs);\n64: \tfree(lang);\n65: \treturn authenticated;\n66: }", "source_name": "userauth_kbdint", "start_code_line": 48, "target_name": "sshpkt_get_end"}, {"color": "#97c2fc", "desc": "\u5904\u7406\u89e3\u6790\u9519\u8bef", "end_code_line": 66, "id": "auth2-kbdint.c|fatal_fr", "label": "auth2-kbdint.c|fatal_fr", "name": "auth2-kbdint.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-kbdint.c", "shape": "dot", "size": 10, "source_code": "48: userauth_kbdint(struct ssh *ssh, const char *method)\n49: {\n50: \tint r, authenticated = 0;\n51: \tchar *lang, *devs;\n52: \n53: \tif ((r = sshpkt_get_cstring(ssh, \u0026lang, NULL)) != 0 ||\n54: \t    (r = sshpkt_get_cstring(ssh, \u0026devs, NULL)) != 0 ||\n55: \t    (r = sshpkt_get_end(ssh)) != 0)\n56: \t\tfatal_fr(r, \"parse packet\");\n57: \n58: \tdebug(\"keyboard-interactive devs %s\", devs);\n59: \n60: \tif (options.kbd_interactive_authentication)\n61: \t\tauthenticated = auth2_challenge(ssh, devs);\n62: \n63: \tfree(devs);\n64: \tfree(lang);\n65: \treturn authenticated;\n66: }", "source_name": "userauth_kbdint", "start_code_line": 48, "target_name": "fatal_fr"}, {"color": "#97c2fc", "desc": "\u8c03\u8bd5\u4fe1\u606f", "end_code_line": 66, "id": "auth2-kbdint.c|debug", "label": "auth2-kbdint.c|debug", "name": "auth2-kbdint.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-kbdint.c", "shape": "dot", "size": 10, "source_code": "48: userauth_kbdint(struct ssh *ssh, const char *method)\n49: {\n50: \tint r, authenticated = 0;\n51: \tchar *lang, *devs;\n52: \n53: \tif ((r = sshpkt_get_cstring(ssh, \u0026lang, NULL)) != 0 ||\n54: \t    (r = sshpkt_get_cstring(ssh, \u0026devs, NULL)) != 0 ||\n55: \t    (r = sshpkt_get_end(ssh)) != 0)\n56: \t\tfatal_fr(r, \"parse packet\");\n57: \n58: \tdebug(\"keyboard-interactive devs %s\", devs);\n59: \n60: \tif (options.kbd_interactive_authentication)\n61: \t\tauthenticated = auth2_challenge(ssh, devs);\n62: \n63: \tfree(devs);\n64: \tfree(lang);\n65: \treturn authenticated;\n66: }", "source_name": "userauth_kbdint", "start_code_line": 48, "target_name": "debug"}, {"color": "#97c2fc", "desc": "\u8ba4\u8bc1\u6311\u6218", "end_code_line": 66, "id": "auth2-kbdint.c|auth2_challenge", "label": "auth2-kbdint.c|auth2_challenge", "name": "auth2-kbdint.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-kbdint.c", "shape": "dot", "size": 10, "source_code": "48: userauth_kbdint(struct ssh *ssh, const char *method)\n49: {\n50: \tint r, authenticated = 0;\n51: \tchar *lang, *devs;\n52: \n53: \tif ((r = sshpkt_get_cstring(ssh, \u0026lang, NULL)) != 0 ||\n54: \t    (r = sshpkt_get_cstring(ssh, \u0026devs, NULL)) != 0 ||\n55: \t    (r = sshpkt_get_end(ssh)) != 0)\n56: \t\tfatal_fr(r, \"parse packet\");\n57: \n58: \tdebug(\"keyboard-interactive devs %s\", devs);\n59: \n60: \tif (options.kbd_interactive_authentication)\n61: \t\tauthenticated = auth2_challenge(ssh, devs);\n62: \n63: \tfree(devs);\n64: \tfree(lang);\n65: \treturn authenticated;\n66: }", "source_name": "userauth_kbdint", "start_code_line": 48, "target_name": "auth2_challenge"}, {"color": "#97c2fc", "desc": "\u952e\u76d8\u4ea4\u4e92\u8ba4\u8bc1\u65b9\u6cd5", "end_code_line": 71, "id": "auth2-kbdint.c|method_kbdint", "label": "auth2-kbdint.c|method_kbdint", "name": "auth2-kbdint.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-kbdint.c", "shape": "dot", "size": 10, "source_code": "68: Authmethod method_kbdint = {\n69: \t\u0026methodcfg_kbdint,\n70: \tuserauth_kbdint,\n71: };", "source_name": "method_kbdint", "start_code_line": 68, "target_name": "userauth_kbdint"}, {"color": "#97c2fc", "desc": "\u91ca\u653e\u5bc6\u7801\u5185\u5b58", "end_code_line": 72, "id": "auth2-passwd.c|userauth_passwd", "label": "auth2-passwd.c|userauth_passwd", "name": "auth2-passwd.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-passwd.c", "shape": "dot", "size": 10, "source_code": "72: \tfreezero(password, len);", "source_name": "userauth_passwd", "start_code_line": 72, "target_name": "freezero"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u7b2c\u4e00\u4e2a8\u4f4d\u65e0\u7b26\u53f7\u6574\u6570", "end_code_line": 60, "id": "auth2-passwd.c|sshpkt_get_u8", "label": "auth2-passwd.c|sshpkt_get_u8", "name": "auth2-passwd.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-passwd.c", "shape": "dot", "size": 10, "source_code": "60: \tif ((r = sshpkt_get_u8(ssh, \u0026change)) != 0 ||", "source_name": "userauth_passwd", "start_code_line": 60, "target_name": "sshpkt_get_u8"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u5b57\u7b26\u4e32", "end_code_line": 61, "id": "auth2-passwd.c|sshpkt_get_cstring", "label": "auth2-passwd.c|sshpkt_get_cstring", "name": "auth2-passwd.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-passwd.c", "shape": "dot", "size": 10, "source_code": "61: \t    (r = sshpkt_get_cstring(ssh, \u0026password, \u0026len)) != 0 ||", "source_name": "userauth_passwd", "start_code_line": 61, "target_name": "sshpkt_get_cstring"}, {"color": "#97c2fc", "desc": "\u7ed3\u675f\u6570\u636e\u5305\u89e3\u6790", "end_code_line": 63, "id": "auth2-passwd.c|sshpkt_get_end", "label": "auth2-passwd.c|sshpkt_get_end", "name": "auth2-passwd.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-passwd.c", "shape": "dot", "size": 10, "source_code": "63: \t    (r = sshpkt_get_end(ssh)) != 0) {", "source_name": "userauth_passwd", "start_code_line": 63, "target_name": "sshpkt_get_end"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u5bc6\u7801\u8ba4\u8bc1", "end_code_line": 70, "id": "auth2-passwd.c|mm_auth_password", "label": "auth2-passwd.c|mm_auth_password", "name": "auth2-passwd.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-passwd.c", "shape": "dot", "size": 10, "source_code": "70: \telse if (mm_auth_password(ssh, password) == 1)", "source_name": "userauth_passwd", "start_code_line": 70, "target_name": "mm_auth_password"}, {"color": "#97c2fc", "desc": "\u91ca\u653e\u5bc6\u7801\u5185\u5b58", "end_code_line": 72, "id": "auth2-passwd.c|freezero", "label": "auth2-passwd.c|freezero", "name": "auth2-passwd.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-passwd.c", "shape": "dot", "size": 10, "source_code": "72: \tfreezero(password, len);", "source_name": "userauth_passwd", "start_code_line": 72, "target_name": "freezero"}, {"color": "#97c2fc", "desc": "\u5bc6\u7801\u8ba4\u8bc1\u65b9\u6cd5", "end_code_line": 78, "id": "auth2-passwd.c|method_passwd", "label": "auth2-passwd.c|method_passwd", "name": "auth2-passwd.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-passwd.c", "shape": "dot", "size": 10, "source_code": "78: \tuserauth_passwd,", "source_name": "method_passwd", "start_code_line": 78, "target_name": "userauth_passwd"}, {"color": "#97c2fc", "desc": "\u751f\u6210\u5bc6\u94a5\u6307\u7eb9", "end_code_line": 85, "id": "auth2-pubkey.c|format_key", "label": "auth2-pubkey.c|format_key", "name": "auth2-pubkey.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-pubkey.c", "shape": "dot", "size": 10, "source_code": " 78: format_key(const struct sshkey *key)\n 79: {\n 80: \tchar *ret, *fp = sshkey_fingerprint(key,\n 81: \t    options.fingerprint_hash, SSH_FP_DEFAULT);\n 82: \n 83: \txasprintf(\u0026ret, \"%s %s\", sshkey_type(key), fp);\n 84: \tfree(fp);\n 85: \treturn ret;", "source_name": "format_key", "start_code_line": 78, "target_name": "sshkey_fingerprint"}, {"color": "#97c2fc", "desc": "\u751f\u6210\u5bc6\u94a5\u6307\u7eb9", "end_code_line": 85, "id": "auth2-pubkey.c|sshkey_fingerprint", "label": "auth2-pubkey.c|sshkey_fingerprint", "name": "auth2-pubkey.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-pubkey.c", "shape": "dot", "size": 10, "source_code": " 78: format_key(const struct sshkey *key)\n 79: {\n 80: \tchar *ret, *fp = sshkey_fingerprint(key,\n 81: \t    options.fingerprint_hash, SSH_FP_DEFAULT);\n 82: \n 83: \txasprintf(\u0026ret, \"%s %s\", sshkey_type(key), fp);\n 84: \tfree(fp);\n 85: \treturn ret;", "source_name": "format_key", "start_code_line": 78, "target_name": "sshkey_fingerprint"}, {"color": "#97c2fc", "desc": "\u683c\u5f0f\u5316\u5bc6\u94a5", "end_code_line": 178, "id": "auth2-pubkey.c|userauth_pubkey", "label": "auth2-pubkey.c|userauth_pubkey", "name": "auth2-pubkey.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-pubkey.c", "shape": "dot", "size": 10, "source_code": "178: \tkey_s = format_key(key);", "source_name": "userauth_pubkey", "start_code_line": 178, "target_name": "format_key"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u5305\u4e2d\u7684uint8\u503c", "end_code_line": 105, "id": "auth2-pubkey.c|sshpkt_get_u8", "label": "auth2-pubkey.c|sshpkt_get_u8", "name": "auth2-pubkey.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-pubkey.c", "shape": "dot", "size": 10, "source_code": "105: \tif ((r = sshpkt_get_u8(ssh, \u0026have_sig)) != 0 ||", "source_name": "userauth_pubkey", "start_code_line": 105, "target_name": "sshpkt_get_u8"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u5b57\u7b26\u4e32", "end_code_line": 106, "id": "auth2-pubkey.c|sshpkt_get_cstring", "label": "auth2-pubkey.c|sshpkt_get_cstring", "name": "auth2-pubkey.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-pubkey.c", "shape": "dot", "size": 10, "source_code": "106: \t    (r = sshpkt_get_cstring(ssh, \u0026pkalg, NULL)) != 0 ||", "source_name": "userauth_pubkey", "start_code_line": 106, "target_name": "sshpkt_get_cstring"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u5b57\u7b26\u4e32", "end_code_line": 107, "id": "auth2-pubkey.c|sshpkt_get_string", "label": "auth2-pubkey.c|sshpkt_get_string", "name": "auth2-pubkey.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-pubkey.c", "shape": "dot", "size": 10, "source_code": "107: \t    (r = sshpkt_get_string(ssh, \u0026pkblob, \u0026blen)) != 0)", "source_name": "userauth_pubkey", "start_code_line": 107, "target_name": "sshpkt_get_string"}, {"color": "#97c2fc", "desc": "\u91ca\u653e\u8ba4\u8bc1\u9009\u9879", "end_code_line": 304, "id": "auth2-pubkey.c|sshauthopt_free", "label": "auth2-pubkey.c|sshauthopt_free", "name": "auth2-pubkey.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-pubkey.c", "shape": "dot", "size": 10, "source_code": "304: \tsshauthopt_free(authopts);", "source_name": "userauth_pubkey", "start_code_line": 304, "target_name": "sshauthopt_free"}, {"color": "#97c2fc", "desc": "\u91ca\u653eSSH\u5bc6\u94a5", "end_code_line": 305, "id": "auth2-pubkey.c|sshkey_free", "label": "auth2-pubkey.c|sshkey_free", "name": "auth2-pubkey.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-pubkey.c", "shape": "dot", "size": 10, "source_code": "305: \tsshkey_free(key);", "source_name": "userauth_pubkey", "start_code_line": 305, "target_name": "sshkey_free"}, {"color": "#97c2fc", "desc": "\u68c0\u67e5\u547d\u4ee4\u4e2d\u516c\u94a5\u662f\u5426\u88ab\u5141\u8bb8", "end_code_line": 754, "id": "auth2-pubkey.c|user_key_allowed", "label": "auth2-pubkey.c|user_key_allowed", "name": "auth2-pubkey.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-pubkey.c", "shape": "dot", "size": 10, "source_code": "753: user_key_allowed(struct ssh *ssh, struct passwd *pw, struct sshkey *key,\n754:     int auth_attempt, struct sshauthopt **authoptsp)", "source_name": "user_key_allowed", "start_code_line": 753, "target_name": "user_key_command_allowed2"}, {"color": "#97c2fc", "desc": "\u68c0\u67e5\u6388\u6743\u5bc6\u94a5\u6587\u4ef6", "end_code_line": 603, "id": "auth2-pubkey.c|user_key_allowed2", "label": "auth2-pubkey.c|user_key_allowed2", "name": "auth2-pubkey.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-pubkey.c", "shape": "dot", "size": 10, "source_code": "603: \t\tfound_key = auth_check_authkeys_file(pw, f, file,", "source_name": "user_key_allowed2", "start_code_line": 603, "target_name": "auth_check_authkeys_file"}, {"color": "#97c2fc", "desc": "\u68c0\u67e5CA\u662f\u5426\u5728\u6587\u4ef6\u4e2d", "end_code_line": 501, "id": "auth2-pubkey.c|user_cert_trusted_ca", "label": "auth2-pubkey.c|user_cert_trusted_ca", "name": "auth2-pubkey.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-pubkey.c", "shape": "dot", "size": 10, "source_code": "501: \tif ((r = sshkey_in_file(key-\u003ecert-\u003esignature_key,", "source_name": "user_cert_trusted_ca", "start_code_line": 501, "target_name": "sshkey_in_file"}, {"color": "#97c2fc", "desc": "\u68c0\u67e5\u6388\u6743\u547d\u4ee4\u6587\u4ef6", "end_code_line": 721, "id": "auth2-pubkey.c|user_key_command_allowed2", "label": "auth2-pubkey.c|user_key_command_allowed2", "name": "auth2-pubkey.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-pubkey.c", "shape": "dot", "size": 10, "source_code": "721: \tok = auth_check_authkeys_file(user_pw, f,", "source_name": "user_key_command_allowed2", "start_code_line": 721, "target_name": "auth_check_authkeys_file"}, {"color": "#97c2fc", "desc": "\u6253\u5f00\u516c\u94a5\u6587\u4ef6", "end_code_line": 602, "id": "auth2-pubkey.c|auth_openkeyfile", "label": "auth2-pubkey.c|auth_openkeyfile", "name": "auth2-pubkey.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-pubkey.c", "shape": "dot", "size": 10, "source_code": "602: \tif ((f = auth_openkeyfile(file, pw, options.strict_modes)) != NULL) {", "source_name": "user_key_allowed2", "start_code_line": 602, "target_name": "auth_openkeyfile"}, {"color": "#97c2fc", "desc": "\u68c0\u67e5\u6388\u6743\u5bc6\u94a5\u6587\u4ef6", "end_code_line": 603, "id": "auth2-pubkey.c|auth_check_authkeys_file", "label": "auth2-pubkey.c|auth_check_authkeys_file", "name": "auth2-pubkey.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-pubkey.c", "shape": "dot", "size": 10, "source_code": "603: \t\tfound_key = auth_check_authkeys_file(pw, f, file,", "source_name": "user_key_allowed2", "start_code_line": 603, "target_name": "auth_check_authkeys_file"}, {"color": "#97c2fc", "desc": "\u68c0\u67e5CA\u662f\u5426\u5728\u6587\u4ef6\u4e2d", "end_code_line": 501, "id": "auth2-pubkey.c|sshkey_in_file", "label": "auth2-pubkey.c|sshkey_in_file", "name": "auth2-pubkey.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-pubkey.c", "shape": "dot", "size": 10, "source_code": "501: \tif ((r = sshkey_in_file(key-\u003ecert-\u003esignature_key,", "source_name": "user_cert_trusted_ca", "start_code_line": 501, "target_name": "sshkey_in_file"}, {"color": "#97c2fc", "desc": "\u5904\u7406principals\u6587\u4ef6", "end_code_line": 333, "id": "auth2-pubkey.c|user_principals", "label": "auth2-pubkey.c|user_principals", "name": "auth2-pubkey.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-pubkey.c", "shape": "dot", "size": 10, "source_code": "333: \tsuccess = auth_process_principals(f, file, cert, authoptsp);", "source_name": "user_principals", "start_code_line": 333, "target_name": "auth_process_principals"}, {"color": "#97c2fc", "desc": "\u6253\u5f00\u6388\u6743\u7684principals\u6587\u4ef6", "end_code_line": 329, "id": "auth2-pubkey.c|auth_openprincipals", "label": "auth2-pubkey.c|auth_openprincipals", "name": "auth2-pubkey.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-pubkey.c", "shape": "dot", "size": 10, "source_code": "329: \tif ((f = auth_openprincipals(file, pw, options.strict_modes)) == NULL) {", "source_name": "user_principals", "start_code_line": 329, "target_name": "auth_openprincipals"}, {"color": "#97c2fc", "desc": "\u5904\u7406principals\u6587\u4ef6", "end_code_line": 333, "id": "auth2-pubkey.c|auth_process_principals", "label": "auth2-pubkey.c|auth_process_principals", "name": "auth2-pubkey.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\auth2-pubkey.c", "shape": "dot", "size": 10, "source_code": "333: \tsuccess = auth_process_principals(f, file, cert, authoptsp);", "source_name": "user_principals", "start_code_line": 333, "target_name": "auth_process_principals"}, {"color": "#97c2fc", "desc": "\u81f4\u547d\u9519\u8bef\u5904\u7406", "end_code_line": 49, "id": "dispatch.c|dispatch_protocol_error", "label": "dispatch.c|dispatch_protocol_error", "name": "dispatch.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\dispatch.c", "shape": "dot", "size": 10, "source_code": " 49: \t\tsshpkt_fatal(ssh, r, \"%s\", __func__);", "source_name": "dispatch_protocol_error", "start_code_line": 49, "target_name": "sshpkt_fatal"}, {"color": "#97c2fc", "desc": "\u8bb0\u5f55\u534f\u8bae\u9519\u8bef\u4fe1\u606f", "end_code_line": 44, "id": "dispatch.c|logit", "label": "dispatch.c|logit", "name": "dispatch.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\dispatch.c", "shape": "dot", "size": 10, "source_code": " 40: dispatch_protocol_error(int type, u_int32_t seq, struct ssh *ssh)\n 41: {\n 42: \tint r;\n 43: \n 44: \tlogit(\"dispatch_protocol_error: type %d seq %u\", type, seq);", "source_name": "dispatch_protocol_error", "start_code_line": 40, "target_name": "logit"}, {"color": "#97c2fc", "desc": "\u542f\u52a8\u6570\u636e\u5305", "end_code_line": 45, "id": "dispatch.c|sshpkt_start", "label": "dispatch.c|sshpkt_start", "name": "dispatch.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\dispatch.c", "shape": "dot", "size": 10, "source_code": " 45: \tif ((r = sshpkt_start(ssh, SSH2_MSG_UNIMPLEMENTED)) != 0 ||", "source_name": "dispatch_protocol_error", "start_code_line": 45, "target_name": "sshpkt_start"}, {"color": "#97c2fc", "desc": "\u6dfb\u52a032\u4f4d\u65e0\u7b26\u53f7\u6574\u6570", "end_code_line": 46, "id": "dispatch.c|sshpkt_put_u32", "label": "dispatch.c|sshpkt_put_u32", "name": "dispatch.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\dispatch.c", "shape": "dot", "size": 10, "source_code": " 46: \t    (r = sshpkt_put_u32(ssh, seq)) != 0 ||", "source_name": "dispatch_protocol_error", "start_code_line": 46, "target_name": "sshpkt_put_u32"}, {"color": "#97c2fc", "desc": "\u53d1\u9001\u6570\u636e\u5305", "end_code_line": 47, "id": "dispatch.c|sshpkt_send", "label": "dispatch.c|sshpkt_send", "name": "dispatch.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\dispatch.c", "shape": "dot", "size": 10, "source_code": " 47: \t    (r = sshpkt_send(ssh)) != 0 ||", "source_name": "dispatch_protocol_error", "start_code_line": 47, "target_name": "sshpkt_send"}, {"color": "#97c2fc", "desc": "\u7b49\u5f85\u5199\u5165\u6570\u636e\u5305", "end_code_line": 48, "id": "dispatch.c|ssh_packet_write_wait", "label": "dispatch.c|ssh_packet_write_wait", "name": "dispatch.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\dispatch.c", "shape": "dot", "size": 10, "source_code": " 48: \t    (r = ssh_packet_write_wait(ssh)) != 0)", "source_name": "dispatch_protocol_error", "start_code_line": 48, "target_name": "ssh_packet_write_wait"}, {"color": "#97c2fc", "desc": "\u81f4\u547d\u9519\u8bef\u5904\u7406", "end_code_line": 49, "id": "dispatch.c|sshpkt_fatal", "label": "dispatch.c|sshpkt_fatal", "name": "dispatch.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\dispatch.c", "shape": "dot", "size": 10, "source_code": " 49: \t\tsshpkt_fatal(ssh, r, \"%s\", __func__);", "source_name": "dispatch_protocol_error", "start_code_line": 49, "target_name": "sshpkt_fatal"}, {"color": "#97c2fc", "desc": "\u8bb0\u5f55\u5ffd\u7565\u4fe1\u606f", "end_code_line": 56, "id": "dispatch.c|dispatch_protocol_ignore", "label": "dispatch.c|dispatch_protocol_ignore", "name": "dispatch.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\dispatch.c", "shape": "dot", "size": 10, "source_code": " 54: dispatch_protocol_ignore(int type, u_int32_t seq, struct ssh *ssh)\n 55: {\n 56: \tlogit(\"dispatch_protocol_ignore: type %d seq %u\", type, seq);", "source_name": "dispatch_protocol_ignore", "start_code_line": 54, "target_name": "logit"}, {"color": "#97c2fc", "desc": "\u521d\u59cb\u5316\u5206\u53d1\u8868", "end_code_line": 66, "id": "dispatch.c|ssh_dispatch_init", "label": "dispatch.c|ssh_dispatch_init", "name": "dispatch.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\dispatch.c", "shape": "dot", "size": 10, "source_code": " 60: void\n 61: ssh_dispatch_init(struct ssh *ssh, dispatch_fn *dflt)\n 62: {\n 63: \tu_int i;\n 64: \tfor (i = 0; i \u003c DISPATCH_MAX; i++)\n 65: \t\tssh-\u003edispatch[i] = dflt;\n 66: }", "source_name": "ssh_dispatch_init", "start_code_line": 60, "target_name": ""}, {"color": "#97c2fc", "desc": "\u521d\u59cb\u5316\u5206\u53d1\u8868", "end_code_line": 66, "id": "dispatch.c|", "label": "dispatch.c|", "name": "dispatch.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\dispatch.c", "shape": "dot", "size": 10, "source_code": " 60: void\n 61: ssh_dispatch_init(struct ssh *ssh, dispatch_fn *dflt)\n 62: {\n 63: \tu_int i;\n 64: \tfor (i = 0; i \u003c DISPATCH_MAX; i++)\n 65: \t\tssh-\u003edispatch[i] = dflt;\n 66: }", "source_name": "ssh_dispatch_init", "start_code_line": 60, "target_name": ""}, {"color": "#97c2fc", "desc": "\u8bbe\u7f6e\u5206\u53d1\u8303\u56f4", "end_code_line": 78, "id": "dispatch.c|ssh_dispatch_range", "label": "dispatch.c|ssh_dispatch_range", "name": "dispatch.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\dispatch.c", "shape": "dot", "size": 10, "source_code": " 69: ssh_dispatch_range(struct ssh *ssh, u_int from, u_int to, dispatch_fn *fn)\n 70: {\n 71: \tu_int i;\n 72: \n 73: \tfor (i = from; i \u003c= to; i++) {\n 74: \t\tif (i \u003e= DISPATCH_MAX)\n 75: \t\t\tbreak;\n 76: \t\tssh-\u003edispatch[i] = fn;\n 77: \t}\n 78: }", "source_name": "ssh_dispatch_range", "start_code_line": 69, "target_name": ""}, {"color": "#97c2fc", "desc": "\u8bbe\u7f6e\u6307\u5b9a\u7c7b\u578b\u7684\u5206\u53d1\u51fd\u6570", "end_code_line": 84, "id": "dispatch.c|ssh_dispatch_set", "label": "dispatch.c|ssh_dispatch_set", "name": "dispatch.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\dispatch.c", "shape": "dot", "size": 10, "source_code": " 81: ssh_dispatch_set(struct ssh *ssh, int type, dispatch_fn *fn)\n 82: {\n 83: \tssh-\u003edispatch[type] = fn;\n 84: }", "source_name": "ssh_dispatch_set", "start_code_line": 81, "target_name": ""}, {"color": "#97c2fc", "desc": "\u65ad\u5f00\u8fde\u63a5\u5904\u7406", "end_code_line": 116, "id": "dispatch.c|ssh_dispatch_run", "label": "dispatch.c|ssh_dispatch_run", "name": "dispatch.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\dispatch.c", "shape": "dot", "size": 10, "source_code": "116: \t\t\tr = sshpkt_disconnect(ssh,", "source_name": "ssh_dispatch_run", "start_code_line": 116, "target_name": "sshpkt_disconnect"}, {"color": "#97c2fc", "desc": "\u8bfb\u53d6\u6570\u636e\u5305\u987a\u5e8f\u53f7", "end_code_line": 95, "id": "dispatch.c|ssh_packet_read_seqnr", "label": "dispatch.c|ssh_packet_read_seqnr", "name": "dispatch.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\dispatch.c", "shape": "dot", "size": 10, "source_code": " 95: \t\t\tr = ssh_packet_read_seqnr(ssh, \u0026type, \u0026seqnr);", "source_name": "ssh_dispatch_run", "start_code_line": 95, "target_name": "ssh_packet_read_seqnr"}, {"color": "#97c2fc", "desc": "\u8f6e\u8be2\u8bfb\u53d6\u6570\u636e\u5305\u987a\u5e8f\u53f7", "end_code_line": 99, "id": "dispatch.c|ssh_packet_read_poll_seqnr", "label": "dispatch.c|ssh_packet_read_poll_seqnr", "name": "dispatch.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\dispatch.c", "shape": "dot", "size": 10, "source_code": " 99: \t\t\tr = ssh_packet_read_poll_seqnr(ssh, \u0026type, \u0026seqnr);", "source_name": "ssh_dispatch_run", "start_code_line": 99, "target_name": "ssh_packet_read_poll_seqnr"}, {"color": "#97c2fc", "desc": "\u8c03\u8bd5\u4fe1\u606f\u8bb0\u5f55", "end_code_line": 108, "id": "dispatch.c|debug2", "label": "dispatch.c|debug2", "name": "dispatch.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\dispatch.c", "shape": "dot", "size": 10, "source_code": "108: \t\t\t\tdebug2(\"skipped packet (type %u)\", type);", "source_name": "ssh_dispatch_run", "start_code_line": 108, "target_name": "debug2"}, {"color": "#97c2fc", "desc": "\u8c03\u7528\u5206\u53d1\u51fd\u6570", "end_code_line": 112, "id": "dispatch.c|ssh-\u003edispatch[type]", "label": "dispatch.c|ssh-\u003edispatch[type]", "name": "dispatch.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\dispatch.c", "shape": "dot", "size": 10, "source_code": "112: \t\t\tr = (*ssh-\u003edispatch[type])(type, seqnr, ssh);", "source_name": "ssh_dispatch_run", "start_code_line": 112, "target_name": "ssh-\u003edispatch[type]"}, {"color": "#97c2fc", "desc": "\u65ad\u5f00\u8fde\u63a5\u5904\u7406", "end_code_line": 116, "id": "dispatch.c|sshpkt_disconnect", "label": "dispatch.c|sshpkt_disconnect", "name": "dispatch.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\dispatch.c", "shape": "dot", "size": 10, "source_code": "116: \t\t\tr = sshpkt_disconnect(ssh,", "source_name": "ssh_dispatch_run", "start_code_line": 116, "target_name": "sshpkt_disconnect"}, {"color": "#97c2fc", "desc": "\u81f4\u547d\u9519\u8bef\u5904\u7406", "end_code_line": 133, "id": "dispatch.c|ssh_dispatch_run_fatal", "label": "dispatch.c|ssh_dispatch_run_fatal", "name": "dispatch.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\dispatch.c", "shape": "dot", "size": 10, "source_code": "133: \t\tsshpkt_fatal(ssh, r, \"%s\", __func__);", "source_name": "ssh_dispatch_run_fatal", "start_code_line": 133, "target_name": "sshpkt_fatal"}, {"color": "#97c2fc", "desc": "\u5b8c\u6210SHA512\u54c8\u5e0c\u8ba1\u7b97", "end_code_line": 42, "id": "hash.c|crypto_hash_sha512", "label": "hash.c|crypto_hash_sha512", "name": "hash.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\hash.c", "shape": "dot", "size": 10, "source_code": "32: crypto_hash_sha512(unsigned char *out, const unsigned char *in,\n33:     unsigned long long inlen)\n34: {\n35: \n36: \tSHA2_CTX ctx;\n37: \n38: \tSHA512Init(\u0026ctx);\n39: \tSHA512Update(\u0026ctx, in, inlen);\n40: \tSHA512Final(out, \u0026ctx);\n41: \treturn 0;\n42: }", "source_name": "crypto_hash_sha512", "start_code_line": 32, "target_name": "SHA512Final"}, {"color": "#97c2fc", "desc": "\u8ba1\u7b97SHA512\u54c8\u5e0c", "end_code_line": 24, "id": "hash.c|EVP_Digest", "label": "hash.c|EVP_Digest", "name": "hash.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\hash.c", "shape": "dot", "size": 10, "source_code": "17: crypto_hash_sha512(unsigned char *out, const unsigned char *in,\n18:     unsigned long long inlen)\n19: {\n20: \n21: \tif (!EVP_Digest(in, inlen, out, NULL, EVP_sha512(), NULL))\n22: \t\treturn -1;\n23: \treturn 0;\n24: }", "source_name": "crypto_hash_sha512", "start_code_line": 17, "target_name": "EVP_Digest"}, {"color": "#97c2fc", "desc": "\u521d\u59cb\u5316SHA512\u4e0a\u4e0b\u6587", "end_code_line": 42, "id": "hash.c|SHA512Init", "label": "hash.c|SHA512Init", "name": "hash.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\hash.c", "shape": "dot", "size": 10, "source_code": "32: crypto_hash_sha512(unsigned char *out, const unsigned char *in,\n33:     unsigned long long inlen)\n34: {\n35: \n36: \tSHA2_CTX ctx;\n37: \n38: \tSHA512Init(\u0026ctx);\n39: \tSHA512Update(\u0026ctx, in, inlen);\n40: \tSHA512Final(out, \u0026ctx);\n41: \treturn 0;\n42: }", "source_name": "crypto_hash_sha512", "start_code_line": 32, "target_name": "SHA512Init"}, {"color": "#97c2fc", "desc": "\u66f4\u65b0SHA512\u54c8\u5e0c", "end_code_line": 42, "id": "hash.c|SHA512Update", "label": "hash.c|SHA512Update", "name": "hash.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\hash.c", "shape": "dot", "size": 10, "source_code": "32: crypto_hash_sha512(unsigned char *out, const unsigned char *in,\n33:     unsigned long long inlen)\n34: {\n35: \n36: \tSHA2_CTX ctx;\n37: \n38: \tSHA512Init(\u0026ctx);\n39: \tSHA512Update(\u0026ctx, in, inlen);\n40: \tSHA512Final(out, \u0026ctx);\n41: \treturn 0;\n42: }", "source_name": "crypto_hash_sha512", "start_code_line": 32, "target_name": "SHA512Update"}, {"color": "#97c2fc", "desc": "\u5b8c\u6210SHA512\u54c8\u5e0c\u8ba1\u7b97", "end_code_line": 42, "id": "hash.c|SHA512Final", "label": "hash.c|SHA512Final", "name": "hash.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\hash.c", "shape": "dot", "size": 10, "source_code": "32: crypto_hash_sha512(unsigned char *out, const unsigned char *in,\n33:     unsigned long long inlen)\n34: {\n35: \n36: \tSHA2_CTX ctx;\n37: \n38: \tSHA512Init(\u0026ctx);\n39: \tSHA512Update(\u0026ctx, in, inlen);\n40: \tSHA512Final(out, \u0026ctx);\n41: \treturn 0;\n42: }", "source_name": "crypto_hash_sha512", "start_code_line": 32, "target_name": "SHA512Final"}, {"color": "#97c2fc", "desc": "\u6267\u884cXOR\u5e76\u65cb\u8f6c", "end_code_line": 3, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb3", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb3", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "   2: libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb3(uint64_t a, uint64_t b) {\n   3:   return libcrux_sha3_portable_keccak__vxarq_u64_423(a, b);", "source_name": "libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb3", "start_code_line": 2, "target_name": "libcrux_sha3_portable_keccak__vxarq_u64_423"}, {"color": "#97c2fc", "desc": "\u6267\u884cXOR\u5e76\u65cb\u8f6c", "end_code_line": 3, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_423", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_423", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "   2: libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb3(uint64_t a, uint64_t b) {\n   3:   return libcrux_sha3_portable_keccak__vxarq_u64_423(a, b);", "source_name": "libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb3", "start_code_line": 2, "target_name": "libcrux_sha3_portable_keccak__vxarq_u64_423"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 26, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_424", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_424", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "  24: libcrux_sha3_portable_keccak__vxarq_u64_424(uint64_t a, uint64_t b) {\n  25:   uint64_t ab = a ^ b;\n  26:   return libcrux_sha3_portable_keccak_rotate_left_cb4(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_424", "start_code_line": 24, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb4"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 26, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb4", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb4", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "  24: libcrux_sha3_portable_keccak__vxarq_u64_424(uint64_t a, uint64_t b) {\n  25:   uint64_t ab = a ^ b;\n  26:   return libcrux_sha3_portable_keccak_rotate_left_cb4(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_424", "start_code_line": 24, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb4"}, {"color": "#97c2fc", "desc": "\u6267\u884cXOR\u5e76\u65cb\u8f6c", "end_code_line": 41, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb4", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb4", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "  40: libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb4(uint64_t a, uint64_t b) {\n  41:   return libcrux_sha3_portable_keccak__vxarq_u64_424(a, b);", "source_name": "libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb4", "start_code_line": 40, "target_name": "libcrux_sha3_portable_keccak__vxarq_u64_424"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 64, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_425", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_425", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "  62: libcrux_sha3_portable_keccak__vxarq_u64_425(uint64_t a, uint64_t b) {\n  63:   uint64_t ab = a ^ b;\n  64:   return libcrux_sha3_portable_keccak_rotate_left_cb5(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_425", "start_code_line": 62, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb5"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 64, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb5", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb5", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "  62: libcrux_sha3_portable_keccak__vxarq_u64_425(uint64_t a, uint64_t b) {\n  63:   uint64_t ab = a ^ b;\n  64:   return libcrux_sha3_portable_keccak_rotate_left_cb5(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_425", "start_code_line": 62, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb5"}, {"color": "#97c2fc", "desc": "\u6267\u884cXOR\u5e76\u65cb\u8f6c", "end_code_line": 79, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb5", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb5", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "  78: libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb5(uint64_t a, uint64_t b) {\n  79:   return libcrux_sha3_portable_keccak__vxarq_u64_425(a, b);", "source_name": "libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb5", "start_code_line": 78, "target_name": "libcrux_sha3_portable_keccak__vxarq_u64_425"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 102, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_426", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_426", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 100: libcrux_sha3_portable_keccak__vxarq_u64_426(uint64_t a, uint64_t b) {\n 101:   uint64_t ab = a ^ b;\n 102:   return libcrux_sha3_portable_keccak_rotate_left_cb6(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_426", "start_code_line": 100, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb6"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 102, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb6", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb6", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 100: libcrux_sha3_portable_keccak__vxarq_u64_426(uint64_t a, uint64_t b) {\n 101:   uint64_t ab = a ^ b;\n 102:   return libcrux_sha3_portable_keccak_rotate_left_cb6(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_426", "start_code_line": 100, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb6"}, {"color": "#97c2fc", "desc": "\u6267\u884cXOR\u5e76\u65cb\u8f6c", "end_code_line": 117, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb6", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb6", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 116: libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb6(uint64_t a, uint64_t b) {\n 117:   return libcrux_sha3_portable_keccak__vxarq_u64_426(a, b);", "source_name": "libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb6", "start_code_line": 116, "target_name": "libcrux_sha3_portable_keccak__vxarq_u64_426"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 140, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_427", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_427", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 138: libcrux_sha3_portable_keccak__vxarq_u64_427(uint64_t a, uint64_t b) {\n 139:   uint64_t ab = a ^ b;\n 140:   return libcrux_sha3_portable_keccak_rotate_left_cb7(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_427", "start_code_line": 138, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb7"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 140, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb7", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb7", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 138: libcrux_sha3_portable_keccak__vxarq_u64_427(uint64_t a, uint64_t b) {\n 139:   uint64_t ab = a ^ b;\n 140:   return libcrux_sha3_portable_keccak_rotate_left_cb7(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_427", "start_code_line": 138, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb7"}, {"color": "#97c2fc", "desc": "\u6267\u884cXOR\u5e76\u65cb\u8f6c", "end_code_line": 155, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb7", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb7", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 154: libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb7(uint64_t a, uint64_t b) {\n 155:   return libcrux_sha3_portable_keccak__vxarq_u64_427(a, b);", "source_name": "libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb7", "start_code_line": 154, "target_name": "libcrux_sha3_portable_keccak__vxarq_u64_427"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 178, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_428", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_428", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 176: libcrux_sha3_portable_keccak__vxarq_u64_428(uint64_t a, uint64_t b) {\n 177:   uint64_t ab = a ^ b;\n 178:   return libcrux_sha3_portable_keccak_rotate_left_cb8(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_428", "start_code_line": 176, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb8"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 178, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb8", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb8", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 176: libcrux_sha3_portable_keccak__vxarq_u64_428(uint64_t a, uint64_t b) {\n 177:   uint64_t ab = a ^ b;\n 178:   return libcrux_sha3_portable_keccak_rotate_left_cb8(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_428", "start_code_line": 176, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb8"}, {"color": "#97c2fc", "desc": "\u6267\u884cXOR\u5e76\u65cb\u8f6c", "end_code_line": 193, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb8", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb8", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 192: libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb8(uint64_t a, uint64_t b) {\n 193:   return libcrux_sha3_portable_keccak__vxarq_u64_428(a, b);", "source_name": "libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb8", "start_code_line": 192, "target_name": "libcrux_sha3_portable_keccak__vxarq_u64_428"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 216, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_429", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_429", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 214: libcrux_sha3_portable_keccak__vxarq_u64_429(uint64_t a, uint64_t b) {\n 215:   uint64_t ab = a ^ b;\n 216:   return libcrux_sha3_portable_keccak_rotate_left_cb9(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_429", "start_code_line": 214, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb9"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 216, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb9", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb9", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 214: libcrux_sha3_portable_keccak__vxarq_u64_429(uint64_t a, uint64_t b) {\n 215:   uint64_t ab = a ^ b;\n 216:   return libcrux_sha3_portable_keccak_rotate_left_cb9(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_429", "start_code_line": 214, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb9"}, {"color": "#97c2fc", "desc": "\u6267\u884cXOR\u5e76\u65cb\u8f6c", "end_code_line": 231, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb9", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb9", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 230: libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb9(uint64_t a, uint64_t b) {\n 231:   return libcrux_sha3_portable_keccak__vxarq_u64_429(a, b);", "source_name": "libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb9", "start_code_line": 230, "target_name": "libcrux_sha3_portable_keccak__vxarq_u64_429"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 254, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4210", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4210", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 252: libcrux_sha3_portable_keccak__vxarq_u64_4210(uint64_t a, uint64_t b) {\n 253:   uint64_t ab = a ^ b;\n 254:   return libcrux_sha3_portable_keccak_rotate_left_cb10(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_4210", "start_code_line": 252, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb10"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 254, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb10", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb10", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 252: libcrux_sha3_portable_keccak__vxarq_u64_4210(uint64_t a, uint64_t b) {\n 253:   uint64_t ab = a ^ b;\n 254:   return libcrux_sha3_portable_keccak_rotate_left_cb10(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_4210", "start_code_line": 252, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb10"}, {"color": "#97c2fc", "desc": "\u6267\u884cXOR\u5e76\u65cb\u8f6c", "end_code_line": 269, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb10", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb10", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 268: libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb10(uint64_t a, uint64_t b) {\n 269:   return libcrux_sha3_portable_keccak__vxarq_u64_4210(a, b);", "source_name": "libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb10", "start_code_line": 268, "target_name": "libcrux_sha3_portable_keccak__vxarq_u64_4210"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 292, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4211", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4211", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 290: libcrux_sha3_portable_keccak__vxarq_u64_4211(uint64_t a, uint64_t b) {\n 291:   uint64_t ab = a ^ b;\n 292:   return libcrux_sha3_portable_keccak_rotate_left_cb11(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_4211", "start_code_line": 290, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb11"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 292, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb11", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb11", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 290: libcrux_sha3_portable_keccak__vxarq_u64_4211(uint64_t a, uint64_t b) {\n 291:   uint64_t ab = a ^ b;\n 292:   return libcrux_sha3_portable_keccak_rotate_left_cb11(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_4211", "start_code_line": 290, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb11"}, {"color": "#97c2fc", "desc": "\u6267\u884cXOR\u5e76\u65cb\u8f6c", "end_code_line": 307, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb11", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb11", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 306: libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb11(uint64_t a, uint64_t b) {\n 307:   return libcrux_sha3_portable_keccak__vxarq_u64_4211(a, b);", "source_name": "libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb11", "start_code_line": 306, "target_name": "libcrux_sha3_portable_keccak__vxarq_u64_4211"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 330, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4212", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4212", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 328: libcrux_sha3_portable_keccak__vxarq_u64_4212(uint64_t a, uint64_t b) {\n 329:   uint64_t ab = a ^ b;\n 330:   return libcrux_sha3_portable_keccak_rotate_left_cb12(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_4212", "start_code_line": 328, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb12"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 330, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb12", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb12", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 328: libcrux_sha3_portable_keccak__vxarq_u64_4212(uint64_t a, uint64_t b) {\n 329:   uint64_t ab = a ^ b;\n 330:   return libcrux_sha3_portable_keccak_rotate_left_cb12(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_4212", "start_code_line": 328, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb12"}, {"color": "#97c2fc", "desc": "\u6267\u884cXOR\u5e76\u65cb\u8f6c", "end_code_line": 345, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb12", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb12", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 344: libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb12(uint64_t a, uint64_t b) {\n 345:   return libcrux_sha3_portable_keccak__vxarq_u64_4212(a, b);", "source_name": "libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb12", "start_code_line": 344, "target_name": "libcrux_sha3_portable_keccak__vxarq_u64_4212"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 368, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4213", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4213", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 366: libcrux_sha3_portable_keccak__vxarq_u64_4213(uint64_t a, uint64_t b) {\n 367:   uint64_t ab = a ^ b;\n 368:   return libcrux_sha3_portable_keccak_rotate_left_cb13(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_4213", "start_code_line": 366, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb13"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 368, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb13", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb13", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 366: libcrux_sha3_portable_keccak__vxarq_u64_4213(uint64_t a, uint64_t b) {\n 367:   uint64_t ab = a ^ b;\n 368:   return libcrux_sha3_portable_keccak_rotate_left_cb13(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_4213", "start_code_line": 366, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb13"}, {"color": "#97c2fc", "desc": "\u6267\u884cXOR\u5e76\u65cb\u8f6c", "end_code_line": 383, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb13", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb13", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 382: libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb13(uint64_t a, uint64_t b) {\n 383:   return libcrux_sha3_portable_keccak__vxarq_u64_4213(a, b);", "source_name": "libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb13", "start_code_line": 382, "target_name": "libcrux_sha3_portable_keccak__vxarq_u64_4213"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 406, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4214", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4214", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 404: libcrux_sha3_portable_keccak__vxarq_u64_4214(uint64_t a, uint64_t b) {\n 405:   uint64_t ab = a ^ b;\n 406:   return libcrux_sha3_portable_keccak_rotate_left_cb14(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_4214", "start_code_line": 404, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb14"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 406, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb14", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb14", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 404: libcrux_sha3_portable_keccak__vxarq_u64_4214(uint64_t a, uint64_t b) {\n 405:   uint64_t ab = a ^ b;\n 406:   return libcrux_sha3_portable_keccak_rotate_left_cb14(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_4214", "start_code_line": 404, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb14"}, {"color": "#97c2fc", "desc": "\u6267\u884cXOR\u5e76\u65cb\u8f6c", "end_code_line": 421, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb14", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb14", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 420: libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb14(uint64_t a, uint64_t b) {\n 421:   return libcrux_sha3_portable_keccak__vxarq_u64_4214(a, b);", "source_name": "libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb14", "start_code_line": 420, "target_name": "libcrux_sha3_portable_keccak__vxarq_u64_4214"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 444, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4215", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4215", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 442: libcrux_sha3_portable_keccak__vxarq_u64_4215(uint64_t a, uint64_t b) {\n 443:   uint64_t ab = a ^ b;\n 444:   return libcrux_sha3_portable_keccak_rotate_left_cb15(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_4215", "start_code_line": 442, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb15"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 444, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb15", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb15", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 442: libcrux_sha3_portable_keccak__vxarq_u64_4215(uint64_t a, uint64_t b) {\n 443:   uint64_t ab = a ^ b;\n 444:   return libcrux_sha3_portable_keccak_rotate_left_cb15(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_4215", "start_code_line": 442, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb15"}, {"color": "#97c2fc", "desc": "\u6267\u884cXOR\u5e76\u65cb\u8f6c", "end_code_line": 459, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb15", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb15", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 458: libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb15(uint64_t a, uint64_t b) {\n 459:   return libcrux_sha3_portable_keccak__vxarq_u64_4215(a, b);", "source_name": "libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb15", "start_code_line": 458, "target_name": "libcrux_sha3_portable_keccak__vxarq_u64_4215"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 482, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4216", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4216", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 480: libcrux_sha3_portable_keccak__vxarq_u64_4216(uint64_t a, uint64_t b) {\n 481:   uint64_t ab = a ^ b;\n 482:   return libcrux_sha3_portable_keccak_rotate_left_cb16(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_4216", "start_code_line": 480, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb16"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 482, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb16", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb16", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 480: libcrux_sha3_portable_keccak__vxarq_u64_4216(uint64_t a, uint64_t b) {\n 481:   uint64_t ab = a ^ b;\n 482:   return libcrux_sha3_portable_keccak_rotate_left_cb16(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_4216", "start_code_line": 480, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb16"}, {"color": "#97c2fc", "desc": "\u6267\u884cXOR\u5e76\u65cb\u8f6c", "end_code_line": 497, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb16", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb16", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 496: libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb16(uint64_t a, uint64_t b) {\n 497:   return libcrux_sha3_portable_keccak__vxarq_u64_4216(a, b);", "source_name": "libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb16", "start_code_line": 496, "target_name": "libcrux_sha3_portable_keccak__vxarq_u64_4216"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 520, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4217", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4217", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 518: libcrux_sha3_portable_keccak__vxarq_u64_4217(uint64_t a, uint64_t b) {\n 519:   uint64_t ab = a ^ b;\n 520:   return libcrux_sha3_portable_keccak_rotate_left_cb17(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_4217", "start_code_line": 518, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb17"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 520, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb17", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb17", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 518: libcrux_sha3_portable_keccak__vxarq_u64_4217(uint64_t a, uint64_t b) {\n 519:   uint64_t ab = a ^ b;\n 520:   return libcrux_sha3_portable_keccak_rotate_left_cb17(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_4217", "start_code_line": 518, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb17"}, {"color": "#97c2fc", "desc": "\u6267\u884cXOR\u5e76\u65cb\u8f6c", "end_code_line": 535, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb17", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb17", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 534: libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb17(uint64_t a, uint64_t b) {\n 535:   return libcrux_sha3_portable_keccak__vxarq_u64_4217(a, b);", "source_name": "libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb17", "start_code_line": 534, "target_name": "libcrux_sha3_portable_keccak__vxarq_u64_4217"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 558, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4218", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4218", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 556: libcrux_sha3_portable_keccak__vxarq_u64_4218(uint64_t a, uint64_t b) {\n 557:   uint64_t ab = a ^ b;\n 558:   return libcrux_sha3_portable_keccak_rotate_left_cb18(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_4218", "start_code_line": 556, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb18"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 558, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb18", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb18", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 556: libcrux_sha3_portable_keccak__vxarq_u64_4218(uint64_t a, uint64_t b) {\n 557:   uint64_t ab = a ^ b;\n 558:   return libcrux_sha3_portable_keccak_rotate_left_cb18(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_4218", "start_code_line": 556, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb18"}, {"color": "#97c2fc", "desc": "\u6267\u884cXOR\u5e76\u65cb\u8f6c", "end_code_line": 573, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb18", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb18", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 572: libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb18(uint64_t a, uint64_t b) {\n 573:   return libcrux_sha3_portable_keccak__vxarq_u64_4218(a, b);", "source_name": "libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb18", "start_code_line": 572, "target_name": "libcrux_sha3_portable_keccak__vxarq_u64_4218"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 596, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4219", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4219", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 594: libcrux_sha3_portable_keccak__vxarq_u64_4219(uint64_t a, uint64_t b) {\n 595:   uint64_t ab = a ^ b;\n 596:   return libcrux_sha3_portable_keccak_rotate_left_cb19(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_4219", "start_code_line": 594, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb19"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 596, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb19", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb19", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 594: libcrux_sha3_portable_keccak__vxarq_u64_4219(uint64_t a, uint64_t b) {\n 595:   uint64_t ab = a ^ b;\n 596:   return libcrux_sha3_portable_keccak_rotate_left_cb19(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_4219", "start_code_line": 594, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb19"}, {"color": "#97c2fc", "desc": "\u6267\u884cXOR\u5e76\u65cb\u8f6c", "end_code_line": 611, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb19", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb19", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 610: libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb19(uint64_t a, uint64_t b) {\n 611:   return libcrux_sha3_portable_keccak__vxarq_u64_4219(a, b);", "source_name": "libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb19", "start_code_line": 610, "target_name": "libcrux_sha3_portable_keccak__vxarq_u64_4219"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 634, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4220", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4220", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 632: libcrux_sha3_portable_keccak__vxarq_u64_4220(uint64_t a, uint64_t b) {\n 633:   uint64_t ab = a ^ b;\n 634:   return libcrux_sha3_portable_keccak_rotate_left_cb20(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_4220", "start_code_line": 632, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb20"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u65cb\u8f6c", "end_code_line": 634, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb20", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb20", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 632: libcrux_sha3_portable_keccak__vxarq_u64_4220(uint64_t a, uint64_t b) {\n 633:   uint64_t ab = a ^ b;\n 634:   return libcrux_sha3_portable_keccak_rotate_left_cb20(ab);", "source_name": "libcrux_sha3_portable_keccak__vxarq_u64_4220", "start_code_line": 632, "target_name": "libcrux_sha3_portable_keccak_rotate_left_cb20"}, {"color": "#97c2fc", "desc": "\u6267\u884cXOR\u5e76\u65cb\u8f6c", "end_code_line": 649, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb20", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb20", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 648: libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb20(uint64_t a, uint64_t b) {\n 649:   return libcrux_sha3_portable_keccak__vxarq_u64_4220(a, b);", "source_name": "libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb20", "start_code_line": 648, "target_name": "libcrux_sha3_portable_keccak__vxarq_u64_4220"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u52a0\u8f7d\u5757", "end_code_line": 1262, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_load_block_2c0", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_load_block_2c0", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "1228:     uint64_t (*s)[5U], Eurydice_slice blocks[1U]) {\n1229:   for (size_t i = (size_t)0U; i \u003c (size_t)136U / (size_t)8U; i++) {\n1230:     size_t i0 = i;\n1231:     uint8_t uu____0[8U];\n1232:     Result_56 dst;\n1233:     Eurydice_slice_to_array2(\n1234:         \u0026dst,\n1235:         Eurydice_slice_subslice2(blocks[0U], (size_t)8U * i0,\n1236:                                  (size_t)8U * i0 + (size_t)8U, uint8_t),\n1237:         Eurydice_slice, uint8_t[8U]);\n1238:     unwrap_41_ac(dst, uu____0);\n1239:     size_t uu____1 = i0 / (size_t)5U;\n1240:     size_t uu____2 = i0 % (size_t)5U;\n1241:     s[uu____1][uu____2] =\n1242:         s[uu____1][uu____2] ^ core_num__u64_9__from_le_bytes(uu____0);\n1243:   }\n1244: }\n1245: \n1246: /**\n1247: This function found in impl {(libcrux_sha3::traits::internal::KeccakItem\u003c1:\n1248: usize\u003e for u64)}\n1249: */\n1250: /**\n1251: A monomorphic instance of libcrux_sha3.portable_keccak.load_block_5a\n1252: with const generics\n1253: - RATE= 136\n1254: */\n1255: static KRML_MUSTINLINE void libcrux_sha3_portable_keccak_load_block_5a_b80(\n1256:     uint64_t (*a)[5U], Eurydice_slice b[1U]) {\n1257:   uint64_t(*uu____0)[5U] = a;\n1258:   /* Passing arrays by value in Rust generates a copy in C */\n1259:   Eurydice_slice copy_of_b[1U];\n1260:   memcpy(copy_of_b, b, (size_t)1U * sizeof(Eurydice_slice));\n1261:   libcrux_sha3_portable_keccak_load_block_2c0(uu____0, copy_of_b);\n1262: }", "source_name": "libcrux_sha3_portable_keccak_load_block_2c0", "start_code_line": 1228, "target_name": "libcrux_sha3_portable_keccak_load_block_5a_b80"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u5438\u6536\u5757", "end_code_line": 1277, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_load_block_5a_b80", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_load_block_5a_b80", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "1256:     uint64_t (*a)[5U], Eurydice_slice b[1U]) {\n1257:   uint64_t(*uu____0)[5U] = a;\n1258:   /* Passing arrays by value in Rust generates a copy in C */\n1259:   Eurydice_slice copy_of_b[1U];\n1260:   memcpy(copy_of_b, b, (size_t)1U * sizeof(Eurydice_slice));\n1261:   libcrux_sha3_portable_keccak_load_block_2c0(uu____0, copy_of_b);\n1262: }\n1263: \n1264: /**\n1265: A monomorphic instance of libcrux_sha3.generic_keccak.absorb_block\n1266: with types uint64_t\n1267: with const generics\n1268: - N= 1\n1269: - RATE= 136\n1270: */\n1271: static KRML_MUSTINLINE void libcrux_sha3_generic_keccak_absorb_block_df0(\n1272:     libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice blocks[1U]) {\n1273:   uint64_t(*uu____0)[5U] = s-\u003est;\n1274:   Eurydice_slice uu____1[1U];\n1275:   memcpy(uu____1, blocks, (size_t)1U * sizeof(Eurydice_slice));\n1276:   libcrux_sha3_portable_keccak_load_block_5a_b80(uu____0, uu____1);\n1277:   libcrux_sha3_generic_keccak_keccakf1600_21(s);", "source_name": "libcrux_sha3_portable_keccak_load_block_5a_b80", "start_code_line": 1256, "target_name": "libcrux_sha3_generic_keccak_absorb_block_df0"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u5438\u6536\u5757", "end_code_line": 1277, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_absorb_block_df0", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_absorb_block_df0", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "1256:     uint64_t (*a)[5U], Eurydice_slice b[1U]) {\n1257:   uint64_t(*uu____0)[5U] = a;\n1258:   /* Passing arrays by value in Rust generates a copy in C */\n1259:   Eurydice_slice copy_of_b[1U];\n1260:   memcpy(copy_of_b, b, (size_t)1U * sizeof(Eurydice_slice));\n1261:   libcrux_sha3_portable_keccak_load_block_2c0(uu____0, copy_of_b);\n1262: }\n1263: \n1264: /**\n1265: A monomorphic instance of libcrux_sha3.generic_keccak.absorb_block\n1266: with types uint64_t\n1267: with const generics\n1268: - N= 1\n1269: - RATE= 136\n1270: */\n1271: static KRML_MUSTINLINE void libcrux_sha3_generic_keccak_absorb_block_df0(\n1272:     libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice blocks[1U]) {\n1273:   uint64_t(*uu____0)[5U] = s-\u003est;\n1274:   Eurydice_slice uu____1[1U];\n1275:   memcpy(uu____1, blocks, (size_t)1U * sizeof(Eurydice_slice));\n1276:   libcrux_sha3_portable_keccak_load_block_5a_b80(uu____0, uu____1);\n1277:   libcrux_sha3_generic_keccak_keccakf1600_21(s);", "source_name": "libcrux_sha3_portable_keccak_load_block_5a_b80", "start_code_line": 1256, "target_name": "libcrux_sha3_generic_keccak_absorb_block_df0"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u56de\u5408\u5e38\u91cf\u5438\u6536", "end_code_line": 902, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_keccakf1600_21", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_keccakf1600_21", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 900:     libcrux_sha3_generic_keccak_pi_1d(s);\n 901:     libcrux_sha3_generic_keccak_chi_12(s);\n 902:     libcrux_sha3_generic_keccak_iota_62(s, i0);", "source_name": "libcrux_sha3_generic_keccak_keccakf1600_21", "start_code_line": 900, "target_name": "libcrux_sha3_generic_keccak_iota_62"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u56de\u5408\u5e38\u91cf\u5438\u6536", "end_code_line": 902, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_iota_62", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_iota_62", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 900:     libcrux_sha3_generic_keccak_pi_1d(s);\n 901:     libcrux_sha3_generic_keccak_chi_12(s);\n 902:     libcrux_sha3_generic_keccak_iota_62(s, i0);", "source_name": "libcrux_sha3_generic_keccak_keccakf1600_21", "start_code_line": 900, "target_name": "libcrux_sha3_generic_keccak_iota_62"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u5168\u5757\u52a0\u8f7d", "end_code_line": 1290, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_load_block_full_df0", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_load_block_full_df0", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "1286:     uint64_t (*s)[5U], uint8_t blocks[1U][200U]) {\n1287:   Eurydice_slice buf[1U] = {\n1288:       Eurydice_array_to_slice((size_t)200U, blocks[0U], uint8_t)};\n1289:   libcrux_sha3_portable_keccak_load_block_2c0(s, buf);\n1290: }", "source_name": "libcrux_sha3_portable_keccak_load_block_full_df0", "start_code_line": 1286, "target_name": "libcrux_sha3_portable_keccak_load_block_5a_b80"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u52a0\u8f7d\u5168\u5757", "end_code_line": 1302, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_load_block_full_5a_d20", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_load_block_full_5a_d20", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "1301: static KRML_MUSTINLINE void libcrux_sha3_portable_keccak_load_block_full_5a_d20(\n1302:     uint64_t (*a)[5U], uint8_t b[1U][200U]) {", "source_name": "libcrux_sha3_portable_keccak_load_block_full_5a_d20", "start_code_line": 1301, "target_name": "libcrux_sha3_o_c"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u52a0\u8f7d\u5168\u5757", "end_code_line": 1302, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_o_c", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_o_c", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "1301: static KRML_MUSTINLINE void libcrux_sha3_portable_keccak_load_block_full_5a_d20(\n1302:     uint64_t (*a)[5U], uint8_t b[1U][200U]) {", "source_name": "libcrux_sha3_portable_keccak_load_block_full_5a_d20", "start_code_line": 1301, "target_name": "libcrux_sha3_o_c"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u6324\u538b\u6700\u540e\u5757", "end_code_line": 1108, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_last_cf", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_last_cf", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "1106:     libcrux_sha3_generic_keccak_KeccakState_48 s, Eurydice_slice out[1U]) {\n1107:   libcrux_sha3_generic_keccak_keccakf1600_21(\u0026s);\n1108:   uint8_t b[1U][200U];", "source_name": "libcrux_sha3_generic_keccak_squeeze_last_cf", "start_code_line": 1106, "target_name": "libcrux_sha3_generic_keccak_squeeze_first_block_84"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u6324\u538b\u4e0b\u4e00\u4e2a\u5757", "end_code_line": 1095, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_first_block_84", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_first_block_84", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "1081:     libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice out[1U]) {\n1082:   libcrux_sha3_portable_keccak_store_block_5a_59(s-\u003est, out);\n1083: }\n1084: \n1085: /**\n1086: A monomorphic instance of libcrux_sha3.generic_keccak.squeeze_next_block\n1087: with types uint64_t\n1088: with const generics\n1089: - N= 1\n1090: - RATE= 72\n1091: */\n1092: static KRML_MUSTINLINE void libcrux_sha3_generic_keccak_squeeze_next_block_fc(\n1093:     libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice out[1U]) {\n1094:   libcrux_sha3_generic_keccak_keccakf1600_21(s);\n1095:   libcrux_sha3_portable_keccak_store_block_5a_59(s-\u003est, out);", "source_name": "libcrux_sha3_generic_keccak_squeeze_first_block_84", "start_code_line": 1081, "target_name": "libcrux_sha3_generic_keccak_squeeze_next_block_fc"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u6324\u538b\u4e0b\u4e00\u4e2a\u5757", "end_code_line": 1095, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_next_block_fc", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_next_block_fc", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "1081:     libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice out[1U]) {\n1082:   libcrux_sha3_portable_keccak_store_block_5a_59(s-\u003est, out);\n1083: }\n1084: \n1085: /**\n1086: A monomorphic instance of libcrux_sha3.generic_keccak.squeeze_next_block\n1087: with types uint64_t\n1088: with const generics\n1089: - N= 1\n1090: - RATE= 72\n1091: */\n1092: static KRML_MUSTINLINE void libcrux_sha3_generic_keccak_squeeze_next_block_fc(\n1093:     libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice out[1U]) {\n1094:   libcrux_sha3_generic_keccak_keccakf1600_21(s);\n1095:   libcrux_sha3_portable_keccak_store_block_5a_59(s-\u003est, out);", "source_name": "libcrux_sha3_generic_keccak_squeeze_first_block_84", "start_code_line": 1081, "target_name": "libcrux_sha3_generic_keccak_squeeze_next_block_fc"}, {"color": "#97c2fc", "desc": "\u5b58\u50a8\u6570\u636e\u5757", "end_code_line": 10, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_full_2d2", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_full_2d2", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "   5: static KRML_MUSTINLINE void libcrux_sha3_portable_keccak_store_block_full_2d2(\n   6:     uint64_t (*s)[5U], uint8_t ret[1U][200U]) {\n   7:   uint8_t out[200U] = {0U};\n   8:   Eurydice_slice buf[1U] = {\n   9:       Eurydice_array_to_slice((size_t)200U, out, uint8_t)};\n  10:   libcrux_sha3_portable_keccak_store_block_583(s, buf);", "source_name": "libcrux_sha3_portable_keccak_store_block_full_2d2", "start_code_line": 5, "target_name": "libcrux_sha3_portable_keccak_store_block_583"}, {"color": "#97c2fc", "desc": "\u5b58\u50a8\u6570\u636e\u5757", "end_code_line": 10, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_583", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_583", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "   5: static KRML_MUSTINLINE void libcrux_sha3_portable_keccak_store_block_full_2d2(\n   6:     uint64_t (*s)[5U], uint8_t ret[1U][200U]) {\n   7:   uint8_t out[200U] = {0U};\n   8:   Eurydice_slice buf[1U] = {\n   9:       Eurydice_array_to_slice((size_t)200U, out, uint8_t)};\n  10:   libcrux_sha3_portable_keccak_store_block_583(s, buf);", "source_name": "libcrux_sha3_portable_keccak_store_block_full_2d2", "start_code_line": 5, "target_name": "libcrux_sha3_portable_keccak_store_block_583"}, {"color": "#97c2fc", "desc": "\u8c03\u7528\u53e6\u4e00\u4e2a\u5b58\u50a8\u51fd\u6570", "end_code_line": 29, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_full_5a_292", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_full_5a_292", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "  26: static KRML_MUSTINLINE void\n  27: libcrux_sha3_portable_keccak_store_block_full_5a_292(uint64_t (*a)[5U],\n  28:                                                      uint8_t ret[1U][200U]) {\n  29:   libcrux_sha3_portable_keccak_store_block_full_2d2(a, ret);", "source_name": "libcrux_sha3_portable_keccak_store_block_full_5a_292", "start_code_line": 26, "target_name": "libcrux_sha3_portable_keccak_store_block_full_2d2"}, {"color": "#97c2fc", "desc": "\u5904\u7406\u5e76\u538b\u7f29\u6570\u636e", "end_code_line": 43, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_first_and_last_c52", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_first_and_last_c52", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "  40: libcrux_sha3_generic_keccak_squeeze_first_and_last_c52(\n  41:     libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice out[1U]) {\n  42:   uint8_t b[1U][200U];\n  43:   libcrux_sha3_portable_keccak_store_block_full_5a_292(s-\u003est, b);", "source_name": "libcrux_sha3_generic_keccak_squeeze_first_and_last_c52", "start_code_line": 40, "target_name": "libcrux_sha3_portable_keccak_store_block_full_5a_292"}, {"color": "#97c2fc", "desc": "\u5b58\u50a8\u6570\u636e\u5757", "end_code_line": 70, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_5a_593", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_5a_593", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "  68: static KRML_MUSTINLINE void libcrux_sha3_portable_keccak_store_block_5a_593(\n  69:     uint64_t (*a)[5U], Eurydice_slice b[1U]) {\n  70:   libcrux_sha3_portable_keccak_store_block_583(a, b);", "source_name": "libcrux_sha3_portable_keccak_store_block_5a_593", "start_code_line": 68, "target_name": "libcrux_sha3_portable_keccak_store_block_583"}, {"color": "#97c2fc", "desc": "\u63d0\u53d6\u7b2c\u4e00\u4e2a\u6570\u636e\u5757", "end_code_line": 82, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_first_block_843", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_first_block_843", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "  80: static KRML_MUSTINLINE void libcrux_sha3_generic_keccak_squeeze_first_block_843(\n  81:     libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice out[1U]) {\n  82:   libcrux_sha3_portable_keccak_store_block_5a_593(s-\u003est, out);", "source_name": "libcrux_sha3_generic_keccak_squeeze_first_block_843", "start_code_line": 80, "target_name": "libcrux_sha3_portable_keccak_store_block_5a_593"}, {"color": "#97c2fc", "desc": "\u63d0\u53d6\u4e0b\u4e00\u4e2a\u6570\u636e\u5757", "end_code_line": 95, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_next_block_fc3", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_next_block_fc3", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "  95:   libcrux_sha3_portable_keccak_store_block_5a_593(s-\u003est, out);", "source_name": "libcrux_sha3_generic_keccak_squeeze_next_block_fc3", "start_code_line": 95, "target_name": "libcrux_sha3_portable_keccak_store_block_5a_593"}, {"color": "#97c2fc", "desc": "\u5904\u7406\u6700\u540e\u4e00\u4e2a\u6570\u636e\u5757", "end_code_line": 109, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_last_cf2", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_last_cf2", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 109:   libcrux_sha3_portable_keccak_store_block_full_5a_292(s.st, b);", "source_name": "libcrux_sha3_generic_keccak_squeeze_last_cf2", "start_code_line": 109, "target_name": "libcrux_sha3_portable_keccak_store_block_full_5a_292"}, {"color": "#97c2fc", "desc": "\u52a0\u8f7d\u6570\u636e\u5757", "end_code_line": 316, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_load_block_5a_b83", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_load_block_5a_b83", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 310: static KRML_MUSTINLINE void libcrux_sha3_portable_keccak_load_block_5a_b83(\n 311:     uint64_t (*a)[5U], Eurydice_slice b[1U]) {\n 312:   uint64_t(*uu____0)[5U] = a;\n 313:   /* Passing arrays by value in Rust generates a copy in C */\n 314:   Eurydice_slice copy_of_b[1U];\n 315:   memcpy(copy_of_b, b, (size_t)1U * sizeof(Eurydice_slice));\n 316:   libcrux_sha3_portable_keccak_load_block_2c1(uu____0, copy_of_b);", "source_name": "libcrux_sha3_portable_keccak_load_block_5a_b83", "start_code_line": 310, "target_name": "libcrux_sha3_portable_keccak_load_block_2c1"}, {"color": "#97c2fc", "desc": "\u52a0\u8f7d\u6570\u636e\u5757", "end_code_line": 316, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_load_block_2c1", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_load_block_2c1", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 310: static KRML_MUSTINLINE void libcrux_sha3_portable_keccak_load_block_5a_b83(\n 311:     uint64_t (*a)[5U], Eurydice_slice b[1U]) {\n 312:   uint64_t(*uu____0)[5U] = a;\n 313:   /* Passing arrays by value in Rust generates a copy in C */\n 314:   Eurydice_slice copy_of_b[1U];\n 315:   memcpy(copy_of_b, b, (size_t)1U * sizeof(Eurydice_slice));\n 316:   libcrux_sha3_portable_keccak_load_block_2c1(uu____0, copy_of_b);", "source_name": "libcrux_sha3_portable_keccak_load_block_5a_b83", "start_code_line": 310, "target_name": "libcrux_sha3_portable_keccak_load_block_2c1"}, {"color": "#97c2fc", "desc": "\u5438\u6536\u6570\u636e\u5757", "end_code_line": 331, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_absorb_block_df3", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_absorb_block_df3", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 326: static KRML_MUSTINLINE void libcrux_sha3_generic_keccak_absorb_block_df3(\n 327:     libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice blocks[1U]) {\n 328:   uint64_t(*uu____0)[5U] = s-\u003est;\n 329:   Eurydice_slice uu____1[1U];\n 330:   memcpy(uu____1, blocks, (size_t)1U * sizeof(Eurydice_slice));\n 331:   libcrux_sha3_portable_keccak_load_block_5a_b83(uu____0, uu____1);", "source_name": "libcrux_sha3_generic_keccak_absorb_block_df3", "start_code_line": 326, "target_name": "libcrux_sha3_portable_keccak_load_block_5a_b83"}, {"color": "#97c2fc", "desc": "\u5b58\u50a8\u6570\u636e\u5757", "end_code_line": 345, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_full_2d3", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_full_2d3", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 340: static KRML_MUSTINLINE void libcrux_sha3_portable_keccak_store_block_full_2d3(\n 341:     uint64_t (*s)[5U], uint8_t ret[1U][200U]) {\n 342:   uint8_t out[200U] = {0U};\n 343:   Eurydice_slice buf[1U] = {\n 344:       Eurydice_array_to_slice((size_t)200U, out, uint8_t)};\n 345:   libcrux_sha3_portable_keccak_store_block_581(s, buf);", "source_name": "libcrux_sha3_portable_keccak_store_block_full_2d3", "start_code_line": 340, "target_name": "libcrux_sha3_portable_keccak_store_block_581"}, {"color": "#97c2fc", "desc": "\u5b58\u50a8\u6570\u636e\u5757", "end_code_line": 345, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_581", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_581", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 340: static KRML_MUSTINLINE void libcrux_sha3_portable_keccak_store_block_full_2d3(\n 341:     uint64_t (*s)[5U], uint8_t ret[1U][200U]) {\n 342:   uint8_t out[200U] = {0U};\n 343:   Eurydice_slice buf[1U] = {\n 344:       Eurydice_array_to_slice((size_t)200U, out, uint8_t)};\n 345:   libcrux_sha3_portable_keccak_store_block_581(s, buf);", "source_name": "libcrux_sha3_portable_keccak_store_block_full_2d3", "start_code_line": 340, "target_name": "libcrux_sha3_portable_keccak_store_block_581"}, {"color": "#97c2fc", "desc": "\u5b58\u50a8\u6570\u636e\u5757", "end_code_line": 364, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_full_5a_293", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_full_5a_293", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 361: static KRML_MUSTINLINE void\n 362: libcrux_sha3_portable_keccak_store_block_full_5a_293(uint64_t (*a)[5U],\n 363:                                                      uint8_t ret[1U][200U]) {\n 364:   libcrux_sha3_portable_keccak_store_block_full_2d3(a, ret);", "source_name": "libcrux_sha3_portable_keccak_store_block_full_5a_293", "start_code_line": 361, "target_name": "libcrux_sha3_portable_keccak_store_block_full_2d3"}, {"color": "#97c2fc", "desc": "\u5904\u7406\u5e76\u538b\u7f29\u6570\u636e", "end_code_line": 378, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_first_and_last_c53", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_first_and_last_c53", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 375: libcrux_sha3_generic_keccak_squeeze_first_and_last_c53(\n 376:     libcrux_sha3_generic_keccak_KeccakState_48 *s, Eurydice_slice out[1U]) {\n 377:   uint8_t b[1U][200U];\n 378:   libcrux_sha3_portable_keccak_store_block_full_5a_293(s-\u003est, b);", "source_name": "libcrux_sha3_generic_keccak_squeeze_first_and_last_c53", "start_code_line": 375, "target_name": "libcrux_sha3_portable_keccak_store_block_full_5a_293"}, {"color": "#97c2fc", "desc": "\u5904\u7406\u6700\u540e\u4e00\u4e2a\u6570\u636e\u5757", "end_code_line": 405, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_last_cf3", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_last_cf3", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 405:   libcrux_sha3_portable_keccak_store_block_full_5a_293(s.st, b);", "source_name": "libcrux_sha3_generic_keccak_squeeze_last_cf3", "start_code_line": 405, "target_name": "libcrux_sha3_portable_keccak_store_block_full_5a_293"}, {"color": "#97c2fc", "desc": "\u5904\u7406\u6570\u636e", "end_code_line": 209, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccakx1_ce3", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccakx1_ce3", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 204: static KRML_MUSTINLINE void libcrux_sha3_portable_keccakx1_ce3(\n 205:     Eurydice_slice data[1U], Eurydice_slice out[1U]) {\n 206:   /* Passing arrays by value in Rust generates a copy in C */\n 207:   Eurydice_slice copy_of_data[1U];\n 208:   memcpy(copy_of_data, data, (size_t)1U * sizeof(Eurydice_slice));\n 209:   libcrux_sha3_generic_keccak_keccak_e93(copy_of_data, out);", "source_name": "libcrux_sha3_portable_keccakx1_ce3", "start_code_line": 204, "target_name": "libcrux_sha3_generic_keccak_keccak_e93"}, {"color": "#97c2fc", "desc": "\u5904\u7406\u6570\u636e", "end_code_line": 209, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_keccak_e93", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_keccak_e93", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 204: static KRML_MUSTINLINE void libcrux_sha3_portable_keccakx1_ce3(\n 205:     Eurydice_slice data[1U], Eurydice_slice out[1U]) {\n 206:   /* Passing arrays by value in Rust generates a copy in C */\n 207:   Eurydice_slice copy_of_data[1U];\n 208:   memcpy(copy_of_data, data, (size_t)1U * sizeof(Eurydice_slice));\n 209:   libcrux_sha3_generic_keccak_keccak_e93(copy_of_data, out);", "source_name": "libcrux_sha3_portable_keccakx1_ce3", "start_code_line": 204, "target_name": "libcrux_sha3_generic_keccak_keccak_e93"}, {"color": "#97c2fc", "desc": "\u5904\u7406SHA384\u6570\u636e", "end_code_line": 220, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_sha384", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_sha384", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 215: static KRML_MUSTINLINE void libcrux_sha3_portable_sha384(Eurydice_slice digest,\n 216:                                                          Eurydice_slice data) {\n 217:   Eurydice_slice buf0[1U] = {data};\n 218:   Eurydice_slice buf[1U] = {digest};\n 219:   libcrux_sha3_portable_keccakx1_ce3(buf0, buf);\n 220: }", "source_name": "libcrux_sha3_portable_sha384", "start_code_line": 215, "target_name": "libcrux_sha3_portable_keccakx1_ce3"}, {"color": "#97c2fc", "desc": "\u5904\u7406SHA224\u6570\u636e", "end_code_line": 231, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha224_ema", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha224_ema", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 228: static KRML_MUSTINLINE void libcrux_sha3_sha224_ema(Eurydice_slice digest,\n 229:                                                     Eurydice_slice payload) {\n 230:   libcrux_sha3_portable_sha224(digest, payload);\n 231: }", "source_name": "libcrux_sha3_sha224_ema", "start_code_line": 228, "target_name": "libcrux_sha3_portable_sha224"}, {"color": "#97c2fc", "desc": "\u5904\u7406SHA224\u6570\u636e", "end_code_line": 231, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_sha224", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_sha224", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 228: static KRML_MUSTINLINE void libcrux_sha3_sha224_ema(Eurydice_slice digest,\n 229:                                                     Eurydice_slice payload) {\n 230:   libcrux_sha3_portable_sha224(digest, payload);\n 231: }", "source_name": "libcrux_sha3_sha224_ema", "start_code_line": 228, "target_name": "libcrux_sha3_portable_sha224"}, {"color": "#97c2fc", "desc": "\u5904\u7406SHA224\u6570\u636e", "end_code_line": 241, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha224", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha224", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 236: static KRML_MUSTINLINE void libcrux_sha3_sha224(Eurydice_slice data,\n 237:                                                 uint8_t ret[28U]) {\n 238:   uint8_t out[28U] = {0U};\n 239:   libcrux_sha3_sha224_ema(Eurydice_array_to_slice((size_t)28U, out, uint8_t),\n 240:                           data);\n 241:   memcpy(ret, out, (size_t)28U * sizeof(uint8_t));", "source_name": "libcrux_sha3_sha224", "start_code_line": 236, "target_name": "libcrux_sha3_sha224_ema"}, {"color": "#97c2fc", "desc": "\u5904\u7406SHA256\u6570\u636e", "end_code_line": 249, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha256_ema", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha256_ema", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 248:                                                     Eurydice_slice payload) {\n 249:   libcrux_sha3_portable_sha256(digest, payload);", "source_name": "libcrux_sha3_sha256_ema", "start_code_line": 248, "target_name": "libcrux_sha3_portable_sha256"}, {"color": "#97c2fc", "desc": "\u5904\u7406SHA256\u6570\u636e", "end_code_line": 249, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_sha256", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_sha256", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 248:                                                     Eurydice_slice payload) {\n 249:   libcrux_sha3_portable_sha256(digest, payload);", "source_name": "libcrux_sha3_sha256_ema", "start_code_line": 248, "target_name": "libcrux_sha3_portable_sha256"}, {"color": "#97c2fc", "desc": "\u5904\u7406SHA256\u6570\u636e", "end_code_line": 260, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha256", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha256", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 255: static KRML_MUSTINLINE void libcrux_sha3_sha256(Eurydice_slice data,\n 256:                                                 uint8_t ret[32U]) {\n 257:   uint8_t out[32U] = {0U};\n 258:   libcrux_sha3_sha256_ema(Eurydice_array_to_slice((size_t)32U, out, uint8_t),\n 259:                           data);\n 260:   memcpy(ret, out, (size_t)32U * sizeof(uint8_t));", "source_name": "libcrux_sha3_sha256", "start_code_line": 255, "target_name": "libcrux_sha3_sha256_ema"}, {"color": "#97c2fc", "desc": "\u5904\u7406SHA384\u6570\u636e", "end_code_line": 269, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha384_ema", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha384_ema", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 266: static KRML_MUSTINLINE void libcrux_sha3_sha384_ema(Eurydice_slice digest,\n 267:                                                     Eurydice_slice payload) {\n 268:   libcrux_sha3_portable_sha384(digest, payload);\n 269: }", "source_name": "libcrux_sha3_sha384_ema", "start_code_line": 266, "target_name": "libcrux_sha3_portable_sha384"}, {"color": "#97c2fc", "desc": "\u5904\u7406SHA384\u6570\u636e", "end_code_line": 279, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha384", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha384", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 274: static KRML_MUSTINLINE void libcrux_sha3_sha384(Eurydice_slice data,\n 275:                                                 uint8_t ret[48U]) {\n 276:   uint8_t out[48U] = {0U};\n 277:   libcrux_sha3_sha384_ema(Eurydice_array_to_slice((size_t)48U, out, uint8_t),\n 278:                           data);\n 279:   memcpy(ret, out, (size_t)48U * sizeof(uint8_t));", "source_name": "libcrux_sha3_sha384", "start_code_line": 274, "target_name": "libcrux_sha3_sha384_ema"}, {"color": "#97c2fc", "desc": "\u5904\u7406SHA512\u6570\u636e", "end_code_line": 288, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha512_ema", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha512_ema", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 285: static KRML_MUSTINLINE void libcrux_sha3_sha512_ema(Eurydice_slice digest,\n 286:                                                     Eurydice_slice payload) {\n 287:   libcrux_sha3_portable_sha512(digest, payload);\n 288: }", "source_name": "libcrux_sha3_sha512_ema", "start_code_line": 285, "target_name": "libcrux_sha3_portable_sha512"}, {"color": "#97c2fc", "desc": "\u5904\u7406SHA512\u6570\u636e", "end_code_line": 288, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_sha512", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_sha512", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 285: static KRML_MUSTINLINE void libcrux_sha3_sha512_ema(Eurydice_slice digest,\n 286:                                                     Eurydice_slice payload) {\n 287:   libcrux_sha3_portable_sha512(digest, payload);\n 288: }", "source_name": "libcrux_sha3_sha512_ema", "start_code_line": 285, "target_name": "libcrux_sha3_portable_sha512"}, {"color": "#97c2fc", "desc": "\u5904\u7406SHA512\u6570\u636e", "end_code_line": 298, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha512", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha512", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 293: static KRML_MUSTINLINE void libcrux_sha3_sha512(Eurydice_slice data,\n 294:                                                 uint8_t ret[64U]) {\n 295:   uint8_t out[64U] = {0U};\n 296:   libcrux_sha3_sha512_ema(Eurydice_array_to_slice((size_t)64U, out, uint8_t),\n 297:                           data);\n 298:   memcpy(ret, out, (size_t)64U * sizeof(uint8_t));", "source_name": "libcrux_sha3_sha512", "start_code_line": 293, "target_name": "libcrux_sha3_sha512_ema"}, {"color": "#97c2fc", "desc": "\u586b\u5145\u6570\u636e\u5757", "end_code_line": 896, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_fill_buffer_9d_b0", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_fill_buffer_9d_b0", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 888: static KRML_MUSTINLINE void libcrux_sha3_generic_keccak_absorb_9d_7b(\n 889:     libcrux_sha3_generic_keccak_KeccakXofState_4f *self,\n 890:     Eurydice_slice inputs[1U]) {\n 891:   libcrux_sha3_generic_keccak_KeccakXofState_4f *uu____0 = self;\n 892:   /* Passing arrays by value in Rust generates a copy in C */\n 893:   Eurydice_slice copy_of_inputs[1U];\n 894:   memcpy(copy_of_inputs, inputs, (size_t)1U * sizeof(Eurydice_slice));\n 895:   size_t input_remainder_len =\n 896:       libcrux_sha3_generic_keccak_absorb_full_9d_f8(uu____0, copy_of_inputs);", "source_name": "libcrux_sha3_generic_keccak_fill_buffer_9d_b0", "start_code_line": 888, "target_name": "libcrux_sha3_generic_keccak_absorb_full_9d_f8"}, {"color": "#97c2fc", "desc": "\u586b\u5145\u6570\u636e\u5757", "end_code_line": 896, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_absorb_full_9d_f8", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_absorb_full_9d_f8", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 888: static KRML_MUSTINLINE void libcrux_sha3_generic_keccak_absorb_9d_7b(\n 889:     libcrux_sha3_generic_keccak_KeccakXofState_4f *self,\n 890:     Eurydice_slice inputs[1U]) {\n 891:   libcrux_sha3_generic_keccak_KeccakXofState_4f *uu____0 = self;\n 892:   /* Passing arrays by value in Rust generates a copy in C */\n 893:   Eurydice_slice copy_of_inputs[1U];\n 894:   memcpy(copy_of_inputs, inputs, (size_t)1U * sizeof(Eurydice_slice));\n 895:   size_t input_remainder_len =\n 896:       libcrux_sha3_generic_keccak_absorb_full_9d_f8(uu____0, copy_of_inputs);", "source_name": "libcrux_sha3_generic_keccak_fill_buffer_9d_b0", "start_code_line": 888, "target_name": "libcrux_sha3_generic_keccak_absorb_full_9d_f8"}, {"color": "#97c2fc", "desc": "\u5904\u7406\u6700\u540e\u7684\u5438\u6536", "end_code_line": 926, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_absorb_9d_7b", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_absorb_9d_7b", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 922: static inline void libcrux_sha3_portable_incremental_absorb_7d(\n 923:     libcrux_sha3_generic_keccak_KeccakXofState_4f *self, Eurydice_slice input) {\n 924:   Eurydice_slice buf[1U] = {input};\n 925:   libcrux_sha3_generic_keccak_absorb_9d_7b(self, buf);\n 926: }", "source_name": "libcrux_sha3_generic_keccak_absorb_9d_7b", "start_code_line": 922, "target_name": "libcrux_sha3_portable_incremental_absorb_final"}, {"color": "#97c2fc", "desc": "\u5904\u7406\u6700\u540e\u7684\u5438\u6536", "end_code_line": 926, "id": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_incremental_absorb_final", "label": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_incremental_absorb_final", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": " 922: static inline void libcrux_sha3_portable_incremental_absorb_7d(\n 923:     libcrux_sha3_generic_keccak_KeccakXofState_4f *self, Eurydice_slice input) {\n 924:   Eurydice_slice buf[1U] = {input};\n 925:   libcrux_sha3_generic_keccak_absorb_9d_7b(self, buf);\n 926: }", "source_name": "libcrux_sha3_generic_keccak_absorb_9d_7b", "start_code_line": 922, "target_name": "libcrux_sha3_portable_incremental_absorb_final"}, {"color": "#97c2fc", "desc": "\u8fd4\u56de\u5bc6\u94a5\u5bf9", "end_code_line": 772, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_generate_keypair_fc", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_generate_keypair_fc", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "772:       uu____2, libcrux_ml_kem_types_from_b6_da(copy_of_public_key));", "source_name": "libcrux_ml_kem_ind_cpa_generate_keypair_fc", "start_code_line": 772, "target_name": "libcrux_ml_kem_types_from_17_35"}, {"color": "#97c2fc", "desc": "\u751f\u6210\u5bc6\u94a5\u5bf9", "end_code_line": 606, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_variant_cpa_keygen_seed_d8_0e", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_variant_cpa_keygen_seed_d8_0e", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "603: libcrux_ml_kem_ind_cpa_generate_keypair_fc(Eurydice_slice key_generation_seed) {\n604:   uint8_t hashed[64U];\n605:   libcrux_ml_kem_variant_cpa_keygen_seed_d8_0e(key_generation_seed, hashed);\n606:   Eurydice_slice_uint8_t_x2 uu____0 = Eurydice_slice_split_at(", "source_name": "libcrux_ml_kem_ind_cpa_generate_keypair_fc", "start_code_line": 603, "target_name": "libcrux_ml_kem_variant_cpa_keygen_seed_d8_0e"}, {"color": "#97c2fc", "desc": "\u586b\u5145\u6570\u7ec4", "end_code_line": 613, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_utils_into_padded_array_ea1", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_utils_into_padded_array_ea1", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "613:   libcrux_ml_kem_utils_into_padded_array_ea1(seed_for_A0, ret);", "source_name": "libcrux_ml_kem_ind_cpa_generate_keypair_fc", "start_code_line": 613, "target_name": "libcrux_ml_kem_utils_into_padded_array_ea1"}, {"color": "#97c2fc", "desc": "\u62bd\u6837\u77e9\u9635A", "end_code_line": 614, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_matrix_sample_matrix_A_38", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_matrix_sample_matrix_A_38", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "614:   libcrux_ml_kem_matrix_sample_matrix_A_38(ret, true, A_transpose);", "source_name": "libcrux_ml_kem_ind_cpa_generate_keypair_fc", "start_code_line": 614, "target_name": "libcrux_ml_kem_matrix_sample_matrix_A_38"}, {"color": "#97c2fc", "desc": "\u586b\u5145\u6570\u7ec4", "end_code_line": 616, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_utils_into_padded_array_ea2", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_utils_into_padded_array_ea2", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "616:   libcrux_ml_kem_utils_into_padded_array_ea2(seed_for_secret_and_error,", "source_name": "libcrux_ml_kem_ind_cpa_generate_keypair_fc", "start_code_line": 616, "target_name": "libcrux_ml_kem_utils_into_padded_array_ea2"}, {"color": "#97c2fc", "desc": "\u91c7\u6837\u5411\u91cf", "end_code_line": 622, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_sample_vector_cbd_then_ntt_fc", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_sample_vector_cbd_then_ntt_fc", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "621:   tuple_b0 uu____2 = libcrux_ml_kem_ind_cpa_sample_vector_cbd_then_ntt_fc(\n622:       copy_of_prf_input0, 0U);", "source_name": "libcrux_ml_kem_ind_cpa_generate_keypair_fc", "start_code_line": 621, "target_name": "libcrux_ml_kem_ind_cpa_sample_vector_cbd_then_ntt_fc"}, {"color": "#97c2fc", "desc": "\u8ba1\u7b97\u77e9\u9635\u7ed3\u679c", "end_code_line": 640, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_matrix_compute_As_plus_e_60", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_matrix_compute_As_plus_e_60", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "639:   libcrux_ml_kem_matrix_compute_As_plus_e_60(A_transpose, secret_as_ntt,\n640:                                              error_as_ntt, t_as_ntt);", "source_name": "libcrux_ml_kem_ind_cpa_generate_keypair_fc", "start_code_line": 639, "target_name": "libcrux_ml_kem_matrix_compute_As_plus_e_60"}, {"color": "#97c2fc", "desc": "\u5e8f\u5217\u5316\u516c\u94a5", "end_code_line": 646, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_serialize_public_key_79", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_serialize_public_key_79", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "646:   libcrux_ml_kem_ind_cpa_serialize_public_key_79(", "source_name": "libcrux_ml_kem_ind_cpa_generate_keypair_fc", "start_code_line": 646, "target_name": "libcrux_ml_kem_ind_cpa_serialize_public_key_79"}, {"color": "#97c2fc", "desc": "\u5e8f\u5217\u5316\u79c1\u94a5", "end_code_line": 650, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_serialize_secret_key_b5", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_serialize_secret_key_b5", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "650:   libcrux_ml_kem_ind_cpa_serialize_secret_key_b5(secret_as_ntt,", "source_name": "libcrux_ml_kem_ind_cpa_generate_keypair_fc", "start_code_line": 650, "target_name": "libcrux_ml_kem_ind_cpa_serialize_secret_key_b5"}, {"color": "#97c2fc", "desc": "\u590d\u5236\u5bc6\u94a5", "end_code_line": 753, "id": "libcrux_mlkem768_sha3.h|memcpy", "label": "libcrux_mlkem768_sha3.h|memcpy", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "753:   memcpy(ind_cpa_private_key, uu____0.fst, (size_t)1152U * sizeof(uint8_t));", "source_name": "libcrux_ml_kem_ind_cpa_generate_keypair_fc", "start_code_line": 753, "target_name": "memcpy"}, {"color": "#97c2fc", "desc": "\u8f6c\u6362\u79c1\u94a5\u7c7b\u578b", "end_code_line": 766, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_types_from_05_f2", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_types_from_05_f2", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "766:       libcrux_ml_kem_types_from_05_f2(copy_of_secret_key_serialized);", "source_name": "libcrux_ml_kem_ind_cpa_generate_keypair_fc", "start_code_line": 766, "target_name": "libcrux_ml_kem_types_from_05_f2"}, {"color": "#97c2fc", "desc": "\u8fd4\u56de\u5bc6\u94a5\u5bf9", "end_code_line": 772, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_types_from_17_35", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_types_from_17_35", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "772:       uu____2, libcrux_ml_kem_types_from_b6_da(copy_of_public_key));", "source_name": "libcrux_ml_kem_ind_cpa_generate_keypair_fc", "start_code_line": 772, "target_name": "libcrux_ml_kem_types_from_17_35"}, {"color": "#97c2fc", "desc": "\u52a0\u5bc6", "end_code_line": 919, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_decapsulate_700", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_decapsulate_700", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "919:   libcrux_ml_kem_ind_cpa_encrypt_60(uu____5, copy_of_decrypted,", "source_name": "libcrux_ml_kem_ind_cca_decapsulate_700", "start_code_line": 919, "target_name": "libcrux_ml_kem_ind_cpa_encrypt_60"}, {"color": "#97c2fc", "desc": "\u89e3\u5bc6", "end_code_line": 884, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_decrypt_43", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_decrypt_43", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "884:   libcrux_ml_kem_ind_cpa_decrypt_43(ind_cpa_secret_key, ciphertext-\u003evalue,", "source_name": "libcrux_ml_kem_ind_cca_decapsulate_700", "start_code_line": 884, "target_name": "libcrux_ml_kem_ind_cpa_decrypt_43"}, {"color": "#97c2fc", "desc": "\u586b\u5145\u6570\u7ec4", "end_code_line": 888, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_utils_into_padded_array_ea", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_utils_into_padded_array_ea", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "887:   libcrux_ml_kem_utils_into_padded_array_ea(\n888:       Eurydice_array_to_slice((size_t)32U, decrypted, uint8_t), to_hash0);", "source_name": "libcrux_ml_kem_ind_cca_decapsulate_700", "start_code_line": 887, "target_name": "libcrux_ml_kem_utils_into_padded_array_ea"}, {"color": "#97c2fc", "desc": "\u52a0\u5bc6", "end_code_line": 919, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_encrypt_60", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_encrypt_60", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "919:   libcrux_ml_kem_ind_cpa_encrypt_60(uu____5, copy_of_decrypted,", "source_name": "libcrux_ml_kem_ind_cca_decapsulate_700", "start_code_line": 919, "target_name": "libcrux_ml_kem_ind_cpa_encrypt_60"}, {"color": "#97c2fc", "desc": "\u4f2a\u968f\u673a\u51fd\u6570\u8ba1\u7b97", "end_code_line": 839, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_variant_kdf_33_f0", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_variant_kdf_33_f0", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "839:   libcrux_ml_kem_hash_functions_portable_PRF_f1_ee(", "source_name": "libcrux_ml_kem_variant_kdf_33_f0", "start_code_line": 839, "target_name": "libcrux_ml_kem_hash_functions_portable_PRF_f1_ee"}, {"color": "#97c2fc", "desc": "\u54c8\u5e0c\u5904\u7406", "end_code_line": 831, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_hash_functions_portable_H_f1_1a", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_hash_functions_portable_H_f1_1a", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "831:   libcrux_ml_kem_hash_functions_portable_H_f1_1a(", "source_name": "libcrux_ml_kem_variant_kdf_33_f0", "start_code_line": 831, "target_name": "libcrux_ml_kem_hash_functions_portable_H_f1_1a"}, {"color": "#97c2fc", "desc": "\u4f2a\u968f\u673a\u51fd\u6570\u8ba1\u7b97", "end_code_line": 839, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_hash_functions_portable_PRF_f1_ee", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_hash_functions_portable_PRF_f1_ee", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "839:   libcrux_ml_kem_hash_functions_portable_PRF_f1_ee(", "source_name": "libcrux_ml_kem_variant_kdf_33_f0", "start_code_line": 839, "target_name": "libcrux_ml_kem_hash_functions_portable_PRF_f1_ee"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u52a0\u5bc6\u64cd\u4f5c", "end_code_line": 125, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_instantiations_portable_kyber_encapsulate_7a", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_instantiations_portable_kyber_encapsulate_7a", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "118: libcrux_ml_kem_ind_cca_instantiations_portable_kyber_encapsulate_7a(\n119:     libcrux_ml_kem_types_MlKemPublicKey_15 *public_key,\n120:     uint8_t randomness[32U]) {\n121:   libcrux_ml_kem_types_MlKemPublicKey_15 *uu____0 = public_key;\n122:   /* Passing arrays by value in Rust generates a copy in C */\n123:   uint8_t copy_of_randomness[32U];\n124:   memcpy(copy_of_randomness, randomness, (size_t)32U * sizeof(uint8_t));\n125:   return libcrux_ml_kem_ind_cca_encapsulate_cd0(uu____0, copy_of_randomness);", "source_name": "libcrux_ml_kem_ind_cca_instantiations_portable_kyber_encapsulate_7a", "start_code_line": 118, "target_name": "libcrux_ml_kem_ind_cca_encapsulate_cd0"}, {"color": "#97c2fc", "desc": "\u6267\u884c\u52a0\u5bc6\u64cd\u4f5c", "end_code_line": 125, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_encapsulate_cd0", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_encapsulate_cd0", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "118: libcrux_ml_kem_ind_cca_instantiations_portable_kyber_encapsulate_7a(\n119:     libcrux_ml_kem_types_MlKemPublicKey_15 *public_key,\n120:     uint8_t randomness[32U]) {\n121:   libcrux_ml_kem_types_MlKemPublicKey_15 *uu____0 = public_key;\n122:   /* Passing arrays by value in Rust generates a copy in C */\n123:   uint8_t copy_of_randomness[32U];\n124:   memcpy(copy_of_randomness, randomness, (size_t)32U * sizeof(uint8_t));\n125:   return libcrux_ml_kem_ind_cca_encapsulate_cd0(uu____0, copy_of_randomness);", "source_name": "libcrux_ml_kem_ind_cca_instantiations_portable_kyber_encapsulate_7a", "start_code_line": 118, "target_name": "libcrux_ml_kem_ind_cca_encapsulate_cd0"}, {"color": "#97c2fc", "desc": "\u8fd4\u56de\u5bc6\u94a5\u5bf9", "end_code_line": 275, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_generate_keypair_8c0", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_generate_keypair_8c0", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "271:       libcrux_ml_kem_ind_cpa_generate_keypair_fc0(ind_cpa_keypair_randomness);\n272:   uint8_t ind_cpa_private_key[1152U];\n273:   memcpy(ind_cpa_private_key, uu____0.fst, (size_t)1152U * sizeof(uint8_t));\n274:   uint8_t public_key[1184U];\n275:   memcpy(public_key, uu____0.snd, (size_t)1184U * sizeof(uint8_t));", "source_name": "libcrux_ml_kem_ind_cca_generate_keypair_8c0", "start_code_line": 271, "target_name": "libcrux_ml_kem_ind_cca_generate_keypair_fc0"}, {"color": "#97c2fc", "desc": "\u751f\u6210\u5bc6\u94a5\u5bf9", "end_code_line": 177, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_variant_cpa_keygen_seed_33_b6", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_variant_cpa_keygen_seed_33_b6", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "174: libcrux_ml_kem_ind_cpa_generate_keypair_fc0(\n175:     Eurydice_slice key_generation_seed) {\n176:   uint8_t hashed[64U];\n177:   libcrux_ml_kem_variant_cpa_keygen_seed_33_b6(key_generation_seed, hashed);", "source_name": "libcrux_ml_kem_ind_cca_generate_keypair_8c0", "start_code_line": 174, "target_name": "libcrux_ml_kem_variant_cpa_keygen_seed_33_b6"}, {"color": "#97c2fc", "desc": "\u8fd4\u56de\u5bc6\u94a5\u5bf9", "end_code_line": 275, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_generate_keypair_fc0", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_generate_keypair_fc0", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "271:       libcrux_ml_kem_ind_cpa_generate_keypair_fc0(ind_cpa_keypair_randomness);\n272:   uint8_t ind_cpa_private_key[1152U];\n273:   memcpy(ind_cpa_private_key, uu____0.fst, (size_t)1152U * sizeof(uint8_t));\n274:   uint8_t public_key[1184U];\n275:   memcpy(public_key, uu____0.snd, (size_t)1184U * sizeof(uint8_t));", "source_name": "libcrux_ml_kem_ind_cca_generate_keypair_8c0", "start_code_line": 271, "target_name": "libcrux_ml_kem_ind_cca_generate_keypair_fc0"}, {"color": "#97c2fc", "desc": "\u751f\u6210\u5bc6\u94a5\u5bf9", "end_code_line": 313, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_instantiations_portable_kyber_generate_keypair_9b", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_instantiations_portable_kyber_generate_keypair_9b", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "313:   return libcrux_ml_kem_ind_cca_generate_keypair_8c0(copy_of_randomness);", "source_name": "libcrux_ml_kem_ind_cca_instantiations_portable_kyber_generate_keypair_9b", "start_code_line": 313, "target_name": "libcrux_ml_kem_ind_cca_generate_keypair_8c0"}, {"color": "#97c2fc", "desc": "\u751f\u6210\u5bc6\u94a5\u5bf9", "end_code_line": 325, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_mlkem768_portable_kyber_generate_key_pair", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_mlkem768_portable_kyber_generate_key_pair", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "325:   return libcrux_ml_kem_ind_cca_instantiations_portable_kyber_generate_keypair_9b(", "source_name": "libcrux_ml_kem_mlkem768_portable_kyber_generate_key_pair", "start_code_line": 325, "target_name": "libcrux_ml_kem_ind_cca_instantiations_portable_kyber_generate_keypair_9b"}, {"color": "#97c2fc", "desc": "\u9a8c\u8bc1\u79c1\u94a5", "end_code_line": 348, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_validate_private_key_e7", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_validate_private_key_e7", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "348:   libcrux_ml_kem_hash_functions_portable_H_f1_1a(", "source_name": "libcrux_ml_kem_ind_cca_validate_private_key_e7", "start_code_line": 348, "target_name": "libcrux_ml_kem_hash_functions_portable_H_f1_1a"}, {"color": "#97c2fc", "desc": "\u9a8c\u8bc1\u79c1\u94a5", "end_code_line": 376, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_instantiations_portable_validate_private_key_9c", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_instantiations_portable_validate_private_key_9c", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "375:   return libcrux_ml_kem_ind_cca_validate_private_key_e7(private_key,\n376:                                                         ciphertext);", "source_name": "libcrux_ml_kem_ind_cca_instantiations_portable_validate_private_key_9c", "start_code_line": 375, "target_name": "libcrux_ml_kem_ind_cca_validate_private_key_e7"}, {"color": "#97c2fc", "desc": "\u9a8c\u8bc1\u79c1\u94a5", "end_code_line": 388, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_mlkem768_portable_validate_private_key", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_mlkem768_portable_validate_private_key", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "387:   return libcrux_ml_kem_ind_cca_instantiations_portable_validate_private_key_9c(\n388:       private_key, ciphertext);", "source_name": "libcrux_ml_kem_mlkem768_portable_validate_private_key", "start_code_line": 387, "target_name": "libcrux_ml_kem_ind_cca_instantiations_portable_validate_private_key_9c"}, {"color": "#97c2fc", "desc": "\u9a8c\u8bc1\u516c\u94a5", "end_code_line": 464, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_validate_public_key_19", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_validate_public_key_19", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "463:   libcrux_ml_kem_serialize_deserialize_ring_elements_reduced_330(\n464:       Eurydice_array_to_subslice_to((size_t)1184U, public_key, (size_t)1152U,", "source_name": "libcrux_ml_kem_ind_cca_validate_public_key_19", "start_code_line": 463, "target_name": "libcrux_ml_kem_serialize_deserialize_ring_elements_reduced_330"}, {"color": "#97c2fc", "desc": "\u9a8c\u8bc1\u516c\u94a5", "end_code_line": 464, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_serialize_deserialize_ring_elements_reduced_330", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_serialize_deserialize_ring_elements_reduced_330", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "463:   libcrux_ml_kem_serialize_deserialize_ring_elements_reduced_330(\n464:       Eurydice_array_to_subslice_to((size_t)1184U, public_key, (size_t)1152U,", "source_name": "libcrux_ml_kem_ind_cca_validate_public_key_19", "start_code_line": 463, "target_name": "libcrux_ml_kem_serialize_deserialize_ring_elements_reduced_330"}, {"color": "#97c2fc", "desc": "\u9a8c\u8bc1\u516c\u94a5", "end_code_line": 492, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_instantiations_portable_validate_public_key_4b", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_instantiations_portable_validate_public_key_4b", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "492:   return libcrux_ml_kem_ind_cca_validate_public_key_19(public_key);", "source_name": "libcrux_ml_kem_ind_cca_instantiations_portable_validate_public_key_4b", "start_code_line": 492, "target_name": "libcrux_ml_kem_ind_cca_validate_public_key_19"}, {"color": "#97c2fc", "desc": "\u9a8c\u8bc1\u516c\u94a5", "end_code_line": 502, "id": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_mlkem768_portable_validate_public_key", "label": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_mlkem768_portable_validate_public_key", "name": "libcrux_mlkem768_sha3.h", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\libcrux_mlkem768_sha3.h", "shape": "dot", "size": 10, "source_code": "501:     libcrux_ml_kem_types_MlKemPublicKey_15 *public_key) {\n502:   return libcrux_ml_kem_ind_cca_instantiations_portable_validate_public_key_4b(", "source_name": "libcrux_ml_kem_mlkem768_portable_validate_public_key", "start_code_line": 501, "target_name": "libcrux_ml_kem_ind_cca_instantiations_portable_validate_public_key_4b"}, {"color": "#97c2fc", "desc": "\u8bb0\u5f55\u5199\u5165\u9519\u8bef", "end_code_line": 55, "id": "msg.c|ssh_msg_send", "label": "msg.c|ssh_msg_send", "name": "msg.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\msg.c", "shape": "dot", "size": 10, "source_code": "55: \t\terror_f(\"write: %s\", strerror(errno));", "source_name": "ssh_msg_send", "start_code_line": 55, "target_name": "error_f"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u6d88\u606f\u957f\u5ea6", "end_code_line": 48, "id": "msg.c|sshbuf_len", "label": "msg.c|sshbuf_len", "name": "msg.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\msg.c", "shape": "dot", "size": 10, "source_code": "48: \tu_int mlen = sshbuf_len(m);", "source_name": "ssh_msg_send", "start_code_line": 48, "target_name": "sshbuf_len"}, {"color": "#97c2fc", "desc": "\u5411\u7f13\u51b2\u533a\u653e\u516532\u4f4d\u65e0\u7b26\u53f7\u6574\u6570", "end_code_line": 52, "id": "msg.c|put_u32", "label": "msg.c|put_u32", "name": "msg.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\msg.c", "shape": "dot", "size": 10, "source_code": "52: \tput_u32(buf, mlen + 1);", "source_name": "ssh_msg_send", "start_code_line": 52, "target_name": "put_u32"}, {"color": "#97c2fc", "desc": "\u5199\u5165\u6570\u636e\u5230\u6587\u4ef6", "end_code_line": 58, "id": "msg.c|atomicio", "label": "msg.c|atomicio", "name": "msg.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\msg.c", "shape": "dot", "size": 10, "source_code": "54: \tif (atomicio(vwrite, fd, buf, sizeof(buf)) != sizeof(buf)) {\n55: \t\terror_f(\"write: %s\", strerror(errno));\n56: \t\treturn (-1);\n57: \t}\n58: \tif (atomicio(vwrite, fd, sshbuf_mutable_ptr(m), mlen) != mlen) {", "source_name": "ssh_msg_send", "start_code_line": 54, "target_name": "atomicio"}, {"color": "#97c2fc", "desc": "\u8bb0\u5f55\u5199\u5165\u9519\u8bef", "end_code_line": 55, "id": "msg.c|error_f", "label": "msg.c|error_f", "name": "msg.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\msg.c", "shape": "dot", "size": 10, "source_code": "55: \t\terror_f(\"write: %s\", strerror(errno));", "source_name": "ssh_msg_send", "start_code_line": 55, "target_name": "error_f"}, {"color": "#97c2fc", "desc": "\u8bb0\u5f55\u8bfb\u53d6\u9519\u8bef", "end_code_line": 91, "id": "msg.c|ssh_msg_recv", "label": "msg.c|ssh_msg_recv", "name": "msg.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\msg.c", "shape": "dot", "size": 10, "source_code": "91: \t\terror_f(\"read: %s\", strerror(errno));", "source_name": "ssh_msg_recv", "start_code_line": 91, "target_name": "error_f"}, {"color": "#97c2fc", "desc": "\u4ece\u7f13\u51b2\u533a\u83b7\u53d632\u4f4d\u65e0\u7b26\u53f7\u6574\u6570", "end_code_line": 80, "id": "msg.c|get_u32", "label": "msg.c|get_u32", "name": "msg.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\msg.c", "shape": "dot", "size": 10, "source_code": "80: \tmsg_len = get_u32(buf);", "source_name": "ssh_msg_recv", "start_code_line": 80, "target_name": "get_u32"}, {"color": "#97c2fc", "desc": "\u91cd\u7f6e\u7f13\u51b2\u533a", "end_code_line": 85, "id": "msg.c|sshbuf_reset", "label": "msg.c|sshbuf_reset", "name": "msg.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\msg.c", "shape": "dot", "size": 10, "source_code": "85: \tsshbuf_reset(m);", "source_name": "ssh_msg_recv", "start_code_line": 85, "target_name": "sshbuf_reset"}, {"color": "#97c2fc", "desc": "\u9884\u7559\u7f13\u51b2\u533a\u7a7a\u95f4", "end_code_line": 86, "id": "msg.c|sshbuf_reserve", "label": "msg.c|sshbuf_reserve", "name": "msg.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\msg.c", "shape": "dot", "size": 10, "source_code": "86: \tif ((r = sshbuf_reserve(m, msg_len, \u0026p)) != 0) {", "source_name": "ssh_msg_recv", "start_code_line": 86, "target_name": "sshbuf_reserve"}, {"color": "#97c2fc", "desc": "\u8bb0\u5f55\u9884\u7559\u9519\u8bef", "end_code_line": 87, "id": "msg.c|error_fr", "label": "msg.c|error_fr", "name": "msg.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\msg.c", "shape": "dot", "size": 10, "source_code": "87: \t\terror_fr(r, \"reserve\");", "source_name": "ssh_msg_recv", "start_code_line": 87, "target_name": "error_fr"}, {"color": "#97c2fc", "desc": "\u8c03\u6574OOM\u8bbe\u7f6e", "end_code_line": 35, "id": "platform-listen.c|platform_pre_listen", "label": "platform-listen.c|platform_pre_listen", "name": "platform-listen.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-listen.c", "shape": "dot", "size": 10, "source_code": "31: platform_pre_listen(void)\n32: {\n33: #ifdef LINUX_OOM_ADJUST\n34: \t/* Adjust out-of-memory killer so listening process is not killed */\n35: \toom_adjust_setup();", "source_name": "platform_pre_listen", "start_code_line": 31, "target_name": "oom_adjust_setup"}, {"color": "#97c2fc", "desc": "\u8c03\u6574OOM\u8bbe\u7f6e", "end_code_line": 35, "id": "platform-listen.c|oom_adjust_setup", "label": "platform-listen.c|oom_adjust_setup", "name": "platform-listen.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-listen.c", "shape": "dot", "size": 10, "source_code": "31: platform_pre_listen(void)\n32: {\n33: #ifdef LINUX_OOM_ADJUST\n34: \t/* Adjust out-of-memory killer so listening process is not killed */\n35: \toom_adjust_setup();", "source_name": "platform_pre_listen", "start_code_line": 31, "target_name": "oom_adjust_setup"}, {"color": "#97c2fc", "desc": "\u901a\u77e5SystemD\u5df2\u51c6\u5907\u597d", "end_code_line": 43, "id": "platform-listen.c|platform_post_listen", "label": "platform-listen.c|platform_post_listen", "name": "platform-listen.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-listen.c", "shape": "dot", "size": 10, "source_code": "41: {\n42: #ifdef SYSTEMD_NOTIFY\n43: \tssh_systemd_notify_ready();", "source_name": "platform_post_listen", "start_code_line": 41, "target_name": "ssh_systemd_notify_ready"}, {"color": "#97c2fc", "desc": "\u901a\u77e5SystemD\u5df2\u51c6\u5907\u597d", "end_code_line": 43, "id": "platform-listen.c|ssh_systemd_notify_ready", "label": "platform-listen.c|ssh_systemd_notify_ready", "name": "platform-listen.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-listen.c", "shape": "dot", "size": 10, "source_code": "41: {\n42: #ifdef SYSTEMD_NOTIFY\n43: \tssh_systemd_notify_ready();", "source_name": "platform_post_listen", "start_code_line": 41, "target_name": "ssh_systemd_notify_ready"}, {"color": "#97c2fc", "desc": "Solaris\u524d\u5951\u7ea6\u5904\u7406", "end_code_line": 51, "id": "platform-listen.c|platform_pre_fork", "label": "platform-listen.c|platform_pre_fork", "name": "platform-listen.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-listen.c", "shape": "dot", "size": 10, "source_code": "51: \tsolaris_contract_pre_fork();", "source_name": "platform_pre_fork", "start_code_line": 51, "target_name": "solaris_contract_pre_fork"}, {"color": "#97c2fc", "desc": "Solaris\u524d\u5951\u7ea6\u5904\u7406", "end_code_line": 51, "id": "platform-listen.c|solaris_contract_pre_fork", "label": "platform-listen.c|solaris_contract_pre_fork", "name": "platform-listen.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-listen.c", "shape": "dot", "size": 10, "source_code": "51: \tsolaris_contract_pre_fork();", "source_name": "platform_pre_fork", "start_code_line": 51, "target_name": "solaris_contract_pre_fork"}, {"color": "#97c2fc", "desc": "\u6062\u590dOOM\u8bbe\u7f6e", "end_code_line": 62, "id": "platform-listen.c|platform_pre_restart", "label": "platform-listen.c|platform_pre_restart", "name": "platform-listen.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-listen.c", "shape": "dot", "size": 10, "source_code": "62: \toom_adjust_restore();", "source_name": "platform_pre_restart", "start_code_line": 62, "target_name": "oom_adjust_restore"}, {"color": "#97c2fc", "desc": "\u901a\u77e5SystemD\u91cd\u8f7d", "end_code_line": 59, "id": "platform-listen.c|ssh_systemd_notify_reload", "label": "platform-listen.c|ssh_systemd_notify_reload", "name": "platform-listen.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-listen.c", "shape": "dot", "size": 10, "source_code": "59: \tssh_systemd_notify_reload();", "source_name": "platform_pre_restart", "start_code_line": 59, "target_name": "ssh_systemd_notify_reload"}, {"color": "#97c2fc", "desc": "\u6062\u590dOOM\u8bbe\u7f6e", "end_code_line": 62, "id": "platform-listen.c|oom_adjust_restore", "label": "platform-listen.c|oom_adjust_restore", "name": "platform-listen.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-listen.c", "shape": "dot", "size": 10, "source_code": "62: \toom_adjust_restore();", "source_name": "platform_pre_restart", "start_code_line": 62, "target_name": "oom_adjust_restore"}, {"color": "#97c2fc", "desc": "Solaris\u540e\u5951\u7ea6\u5904\u7406", "end_code_line": 70, "id": "platform-listen.c|platform_post_fork_parent", "label": "platform-listen.c|platform_post_fork_parent", "name": "platform-listen.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-listen.c", "shape": "dot", "size": 10, "source_code": "70: \tsolaris_contract_post_fork_parent(child_pid);", "source_name": "platform_post_fork_parent", "start_code_line": 70, "target_name": "solaris_contract_post_fork_parent"}, {"color": "#97c2fc", "desc": "Solaris\u540e\u5951\u7ea6\u5904\u7406", "end_code_line": 70, "id": "platform-listen.c|solaris_contract_post_fork_parent", "label": "platform-listen.c|solaris_contract_post_fork_parent", "name": "platform-listen.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-listen.c", "shape": "dot", "size": 10, "source_code": "70: \tsolaris_contract_post_fork_parent(child_pid);", "source_name": "platform_post_fork_parent", "start_code_line": 70, "target_name": "solaris_contract_post_fork_parent"}, {"color": "#97c2fc", "desc": "\u6062\u590dOOM\u8bbe\u7f6e", "end_code_line": 81, "id": "platform-listen.c|platform_post_fork_child", "label": "platform-listen.c|platform_post_fork_child", "name": "platform-listen.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-listen.c", "shape": "dot", "size": 10, "source_code": "81: \toom_adjust_restore();", "source_name": "platform_post_fork_child", "start_code_line": 81, "target_name": "oom_adjust_restore"}, {"color": "#97c2fc", "desc": "Solaris\u5b50\u8fdb\u7a0b\u540e\u5951\u7ea6\u5904\u7406", "end_code_line": 78, "id": "platform-listen.c|solaris_contract_post_fork_child", "label": "platform-listen.c|solaris_contract_post_fork_child", "name": "platform-listen.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-listen.c", "shape": "dot", "size": 10, "source_code": "78: \tsolaris_contract_post_fork_child();", "source_name": "platform_post_fork_child", "start_code_line": 78, "target_name": "solaris_contract_post_fork_child"}, {"color": "#97c2fc", "desc": "\u4e22\u5f03\u4e0d\u5fc5\u8981\u7684\u6743\u9650", "end_code_line": 43, "id": "platform-pledge.c|platform_pledge_agent", "label": "platform-pledge.c|platform_pledge_agent", "name": "platform-pledge.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-pledge.c", "shape": "dot", "size": 10, "source_code": "35: void\n36: platform_pledge_agent(void)\n37: {\n38: #ifdef USE_SOLARIS_PRIVS\n39: \t/*\n40: \t * Note: Solaris priv dropping is closer to tame() than pledge(), but\n41: \t * we will use what we have.\n42: \t */\n43: \tsolaris_drop_privs_root_pinfo_net();", "source_name": "platform_pledge_agent", "start_code_line": 35, "target_name": "solaris_drop_privs_root_pinfo_net"}, {"color": "#97c2fc", "desc": "\u4e22\u5f03\u4e0d\u5fc5\u8981\u7684\u6743\u9650", "end_code_line": 43, "id": "platform-pledge.c|solaris_drop_privs_root_pinfo_net", "label": "platform-pledge.c|solaris_drop_privs_root_pinfo_net", "name": "platform-pledge.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-pledge.c", "shape": "dot", "size": 10, "source_code": "35: void\n36: platform_pledge_agent(void)\n37: {\n38: #ifdef USE_SOLARIS_PRIVS\n39: \t/*\n40: \t * Note: Solaris priv dropping is closer to tame() than pledge(), but\n41: \t * we will use what we have.\n42: \t */\n43: \tsolaris_drop_privs_root_pinfo_net();", "source_name": "platform_pledge_agent", "start_code_line": 35, "target_name": "solaris_drop_privs_root_pinfo_net"}, {"color": "#97c2fc", "desc": "\u4e22\u5f03\u4e0d\u5fc5\u8981\u7684\u6743\u9650", "end_code_line": 55, "id": "platform-pledge.c|platform_pledge_sftp_server", "label": "platform-pledge.c|platform_pledge_sftp_server", "name": "platform-pledge.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-pledge.c", "shape": "dot", "size": 10, "source_code": "51: void\n52: platform_pledge_sftp_server(void)\n53: {\n54: #ifdef USE_SOLARIS_PRIVS\n55: \tsolaris_drop_privs_pinfo_net_fork_exec();", "source_name": "platform_pledge_sftp_server", "start_code_line": 51, "target_name": "solaris_drop_privs_pinfo_net_fork_exec"}, {"color": "#97c2fc", "desc": "\u4e22\u5f03\u4e0d\u5fc5\u8981\u7684\u6743\u9650", "end_code_line": 55, "id": "platform-pledge.c|solaris_drop_privs_pinfo_net_fork_exec", "label": "platform-pledge.c|solaris_drop_privs_pinfo_net_fork_exec", "name": "platform-pledge.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-pledge.c", "shape": "dot", "size": 10, "source_code": "51: void\n52: platform_pledge_sftp_server(void)\n53: {\n54: #ifdef USE_SOLARIS_PRIVS\n55: \tsolaris_drop_privs_pinfo_net_fork_exec();", "source_name": "platform_pledge_sftp_server", "start_code_line": 51, "target_name": "solaris_drop_privs_pinfo_net_fork_exec"}, {"color": "#97c2fc", "desc": "\u4e22\u5f03\u4e0d\u5fc5\u8981\u7684\u6743\u9650", "end_code_line": 69, "id": "platform-pledge.c|platform_pledge_mux", "label": "platform-pledge.c|platform_pledge_mux", "name": "platform-pledge.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-pledge.c", "shape": "dot", "size": 10, "source_code": "66: platform_pledge_mux(void)\n67: {\n68: #ifdef USE_SOLARIS_PRIVS\n69: \tsolaris_drop_privs_root_pinfo_net_exec();", "source_name": "platform_pledge_mux", "start_code_line": 66, "target_name": "solaris_drop_privs_root_pinfo_net_exec"}, {"color": "#97c2fc", "desc": "\u4e22\u5f03\u4e0d\u5fc5\u8981\u7684\u6743\u9650", "end_code_line": 69, "id": "platform-pledge.c|solaris_drop_privs_root_pinfo_net_exec", "label": "platform-pledge.c|solaris_drop_privs_root_pinfo_net_exec", "name": "platform-pledge.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-pledge.c", "shape": "dot", "size": 10, "source_code": "66: platform_pledge_mux(void)\n67: {\n68: #ifdef USE_SOLARIS_PRIVS\n69: \tsolaris_drop_privs_root_pinfo_net_exec();", "source_name": "platform_pledge_mux", "start_code_line": 66, "target_name": "solaris_drop_privs_root_pinfo_net_exec"}, {"color": "#97c2fc", "desc": "\u529f\u80fd\u6458\u8981\uff08\u4e0d\u8d85\u8fc720\u5b57\uff09", "end_code_line": 76, "id": "platform-tracing.c|platform_disable_tracing", "label": "platform-tracing.c|platform_disable_tracing", "name": "platform-tracing.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-tracing.c", "shape": "dot", "size": 10, "source_code": "40: platform_disable_tracing(int strict)\n41: {\n42: #if defined(HAVE_PROCCTL) \u0026\u0026 defined(PROC_TRACE_CTL)\n43: \t/* On FreeBSD, we should make this process untraceable */\n44: \tint disable_trace = PROC_TRACE_CTL_DISABLE;\n45: \n46: \t/*\n47: \t * On FreeBSD, we should make this process untraceable.\n48: \t * pid=0 means \"this process\" but some older kernels do not\n49: \t * understand that so retry with our own pid before failing.\n50: \t */\n51: \tif (procctl(P_PID, 0, PROC_TRACE_CTL, \u0026disable_trace) == 0)\n52: \t\treturn;\n53: \tif (procctl(P_PID, getpid(), PROC_TRACE_CTL, \u0026disable_trace) == 0)\n54: \t\treturn;\n55: \tif (strict)\n56: \t\tfatal(\"unable to make the process untraceable: %s\",\n57: \t\t    strerror(errno));\n58: #endif\n59: #if defined(HAVE_PRCTL) \u0026\u0026 defined(PR_SET_DUMPABLE)\n60: \t/* Disable ptrace on Linux without sgid bit */\n61: \tif (prctl(PR_SET_DUMPABLE, 0) != 0 \u0026\u0026 strict)\n62: \t\tfatal(\"unable to make the process undumpable: %s\",\n63: \t\t    strerror(errno));\n64: #endif\n65: #if defined(HAVE_SETPFLAGS) \u0026\u0026 defined(__PROC_PROTECT)\n66: \t/* On Solaris, we should make this process untraceable */\n67: \tif (setpflags(__PROC_PROTECT, 1) != 0 \u0026\u0026 strict)\n68: \t\tfatal(\"unable to make the process untraceable: %s\",\n69: \t\t    strerror(errno));\n70: #endif\n71: #ifdef PT_DENY_ATTACH\n72: \t/* Mac OS X */\n73: \tif (ptrace(PT_DENY_ATTACH, 0, 0, 0) == -1 \u0026\u0026 strict)\n74: \t\tfatal(\"unable to set PT_DENY_ATTACH: %s\", strerror(errno));\n75: #endif\n76: }", "source_name": "platform_disable_tracing", "start_code_line": 40, "target_name": ""}, {"color": "#97c2fc", "desc": "\u8fdb\u7a0b\u63a7\u5236", "end_code_line": 51, "id": "platform-tracing.c|procctl", "label": "platform-tracing.c|procctl", "name": "platform-tracing.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-tracing.c", "shape": "dot", "size": 10, "source_code": "51: \tif (procctl(P_PID, 0, PROC_TRACE_CTL, \u0026disable_trace) == 0)", "source_name": "platform_disable_tracing", "start_code_line": 51, "target_name": "procctl"}, {"color": "#97c2fc", "desc": "\u8bbe\u7f6e\u53ef\u8f6c\u50a8\u6807\u5fd7", "end_code_line": 61, "id": "platform-tracing.c|prctl", "label": "platform-tracing.c|prctl", "name": "platform-tracing.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-tracing.c", "shape": "dot", "size": 10, "source_code": "61: \tif (prctl(PR_SET_DUMPABLE, 0) != 0 \u0026\u0026 strict)", "source_name": "platform_disable_tracing", "start_code_line": 61, "target_name": "prctl"}, {"color": "#97c2fc", "desc": "\u8fdb\u7a0b\u4fdd\u62a4\u8bbe\u7f6e", "end_code_line": 67, "id": "platform-tracing.c|setpflags", "label": "platform-tracing.c|setpflags", "name": "platform-tracing.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-tracing.c", "shape": "dot", "size": 10, "source_code": "67: \tif (setpflags(__PROC_PROTECT, 1) != 0 \u0026\u0026 strict)", "source_name": "platform_disable_tracing", "start_code_line": 67, "target_name": "setpflags"}, {"color": "#97c2fc", "desc": "\u63a7\u5236\u8fc7\u7a0b\u9644\u7740", "end_code_line": 73, "id": "platform-tracing.c|ptrace", "label": "platform-tracing.c|ptrace", "name": "platform-tracing.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-tracing.c", "shape": "dot", "size": 10, "source_code": "73: \tif (ptrace(PT_DENY_ATTACH, 0, 0, 0) == -1 \u0026\u0026 strict)", "source_name": "platform_disable_tracing", "start_code_line": 73, "target_name": "ptrace"}, {"color": "#97c2fc", "desc": "\u529f\u80fd\u6458\u8981\uff08\u4e0d\u8d85\u8fc720\u5b57\uff09", "end_code_line": 76, "id": "platform-tracing.c|", "label": "platform-tracing.c|", "name": "platform-tracing.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\platform-tracing.c", "shape": "dot", "size": 10, "source_code": "40: platform_disable_tracing(int strict)\n41: {\n42: #if defined(HAVE_PROCCTL) \u0026\u0026 defined(PROC_TRACE_CTL)\n43: \t/* On FreeBSD, we should make this process untraceable */\n44: \tint disable_trace = PROC_TRACE_CTL_DISABLE;\n45: \n46: \t/*\n47: \t * On FreeBSD, we should make this process untraceable.\n48: \t * pid=0 means \"this process\" but some older kernels do not\n49: \t * understand that so retry with our own pid before failing.\n50: \t */\n51: \tif (procctl(P_PID, 0, PROC_TRACE_CTL, \u0026disable_trace) == 0)\n52: \t\treturn;\n53: \tif (procctl(P_PID, getpid(), PROC_TRACE_CTL, \u0026disable_trace) == 0)\n54: \t\treturn;\n55: \tif (strict)\n56: \t\tfatal(\"unable to make the process untraceable: %s\",\n57: \t\t    strerror(errno));\n58: #endif\n59: #if defined(HAVE_PRCTL) \u0026\u0026 defined(PR_SET_DUMPABLE)\n60: \t/* Disable ptrace on Linux without sgid bit */\n61: \tif (prctl(PR_SET_DUMPABLE, 0) != 0 \u0026\u0026 strict)\n62: \t\tfatal(\"unable to make the process undumpable: %s\",\n63: \t\t    strerror(errno));\n64: #endif\n65: #if defined(HAVE_SETPFLAGS) \u0026\u0026 defined(__PROC_PROTECT)\n66: \t/* On Solaris, we should make this process untraceable */\n67: \tif (setpflags(__PROC_PROTECT, 1) != 0 \u0026\u0026 strict)\n68: \t\tfatal(\"unable to make the process untraceable: %s\",\n69: \t\t    strerror(errno));\n70: #endif\n71: #ifdef PT_DENY_ATTACH\n72: \t/* Mac OS X */\n73: \tif (ptrace(PT_DENY_ATTACH, 0, 0, 0) == -1 \u0026\u0026 strict)\n74: \t\tfatal(\"unable to set PT_DENY_ATTACH: %s\", strerror(errno));\n75: #endif\n76: }", "source_name": "platform_disable_tracing", "start_code_line": 40, "target_name": ""}, {"color": "#97c2fc", "desc": "\u6e05\u9664\u5c5e\u6027\u7ed3\u6784\u5185\u5bb9", "end_code_line": 64, "id": "sftp-common.c|attrib_clear", "label": "sftp-common.c|attrib_clear", "name": "sftp-common.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-common.c", "shape": "dot", "size": 10, "source_code": " 54: void\n 55: attrib_clear(Attrib *a)\n 56: {\n 57: \ta-\u003eflags = 0;\n 58: \ta-\u003esize = 0;\n 59: \ta-\u003euid = 0;\n 60: \ta-\u003egid = 0;\n 61: \ta-\u003eperm = 0;\n 62: \ta-\u003eatime = 0;\n 63: \ta-\u003emtime = 0;\n 64: }", "source_name": "attrib_clear", "start_code_line": 54, "target_name": ""}, {"color": "#97c2fc", "desc": "\u6e05\u9664\u5c5e\u6027\u7ed3\u6784\u5185\u5bb9", "end_code_line": 64, "id": "sftp-common.c|", "label": "sftp-common.c|", "name": "sftp-common.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-common.c", "shape": "dot", "size": 10, "source_code": " 54: void\n 55: attrib_clear(Attrib *a)\n 56: {\n 57: \ta-\u003eflags = 0;\n 58: \ta-\u003esize = 0;\n 59: \ta-\u003euid = 0;\n 60: \ta-\u003egid = 0;\n 61: \ta-\u003eperm = 0;\n 62: \ta-\u003eatime = 0;\n 63: \ta-\u003emtime = 0;\n 64: }", "source_name": "attrib_clear", "start_code_line": 54, "target_name": ""}, {"color": "#97c2fc", "desc": "\u4ecestruct stat\u8f6c\u6362\u4e3afilexfer\u5c5e\u6027", "end_code_line": 81, "id": "sftp-common.c|stat_to_attrib", "label": "sftp-common.c|stat_to_attrib", "name": "sftp-common.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-common.c", "shape": "dot", "size": 10, "source_code": " 68: stat_to_attrib(const struct stat *st, Attrib *a)\n 69: {\n 70: \tattrib_clear(a);\n 71: \ta-\u003eflags = 0;\n 72: \ta-\u003eflags |= SSH2_FILEXFER_ATTR_SIZE;\n 73: \ta-\u003esize = st-\u003est_size;\n 74: \ta-\u003eflags |= SSH2_FILEXFER_ATTR_UIDGID;\n 75: \ta-\u003euid = st-\u003est_uid;\n 76: \ta-\u003egid = st-\u003est_gid;\n 77: \ta-\u003eflags |= SSH2_FILEXFER_ATTR_PERMISSIONS;\n 78: \ta-\u003eperm = st-\u003est_mode;\n 79: \ta-\u003eflags |= SSH2_FILEXFER_ATTR_ACMODTIME;\n 80: \ta-\u003eatime = st-\u003est_atime;\n 81: \ta-\u003emtime = st-\u003est_mtime;", "source_name": "stat_to_attrib", "start_code_line": 68, "target_name": ""}, {"color": "#97c2fc", "desc": "\u4ecefilexfer\u5c5e\u6027\u8f6c\u6362\u4e3astruct stat", "end_code_line": 102, "id": "sftp-common.c|attrib_to_stat", "label": "sftp-common.c|attrib_to_stat", "name": "sftp-common.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-common.c", "shape": "dot", "size": 10, "source_code": " 86: attrib_to_stat(const Attrib *a, struct stat *st)\n 87: {\n 88: \tmemset(st, 0, sizeof(*st));\n 89: \n 90: \tif (a-\u003eflags \u0026 SSH2_FILEXFER_ATTR_SIZE)\n 91: \t\tst-\u003est_size = a-\u003esize;\n 92: \tif (a-\u003eflags \u0026 SSH2_FILEXFER_ATTR_UIDGID) {\n 93: \t\tst-\u003est_uid = a-\u003euid;\n 94: \t\tst-\u003est_gid = a-\u003egid;\n 95: \t}\n 96: \tif (a-\u003eflags \u0026 SSH2_FILEXFER_ATTR_PERMISSIONS)\n 97: \t\tst-\u003est_mode = a-\u003eperm;\n 98: \tif (a-\u003eflags \u0026 SSH2_FILEXFER_ATTR_ACMODTIME) {\n 99: \t\tst-\u003est_atime = a-\u003eatime;\n100: \t\tst-\u003est_mtime = a-\u003emtime;\n101: \t}\n102: }", "source_name": "attrib_to_stat", "start_code_line": 86, "target_name": ""}, {"color": "#97c2fc", "desc": "\u4ece\u7f13\u51b2\u533a\u83b7\u53d6\u5b57\u7b26\u4e32", "end_code_line": 144, "id": "sftp-common.c|decode_attrib", "label": "sftp-common.c|decode_attrib", "name": "sftp-common.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-common.c", "shape": "dot", "size": 10, "source_code": "143: \t\t\tif ((r = sshbuf_get_cstring(b, \u0026type, NULL)) != 0 ||\n144: \t\t\t    (r = sshbuf_get_string(b, \u0026data, \u0026dlen)) != 0)", "source_name": "decode_attrib", "start_code_line": 143, "target_name": "sshbuf_get_cstring"}, {"color": "#97c2fc", "desc": "\u4ece\u7f13\u51b2\u533a\u83b7\u53d6u32", "end_code_line": 111, "id": "sftp-common.c|sshbuf_get_u32", "label": "sftp-common.c|sshbuf_get_u32", "name": "sftp-common.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-common.c", "shape": "dot", "size": 10, "source_code": "111: \tif ((r = sshbuf_get_u32(b, \u0026a-\u003eflags)) != 0)", "source_name": "decode_attrib", "start_code_line": 111, "target_name": "sshbuf_get_u32"}, {"color": "#97c2fc", "desc": "\u4ece\u7f13\u51b2\u533a\u83b7\u53d6u64", "end_code_line": 114, "id": "sftp-common.c|sshbuf_get_u64", "label": "sftp-common.c|sshbuf_get_u64", "name": "sftp-common.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-common.c", "shape": "dot", "size": 10, "source_code": "114: \t\tif ((r = sshbuf_get_u64(b, \u0026a-\u003esize)) != 0)", "source_name": "decode_attrib", "start_code_line": 114, "target_name": "sshbuf_get_u64"}, {"color": "#97c2fc", "desc": "\u4ece\u7f13\u51b2\u533a\u83b7\u53d6\u5b57\u7b26\u4e32", "end_code_line": 144, "id": "sftp-common.c|sshbuf_get_cstring", "label": "sftp-common.c|sshbuf_get_cstring", "name": "sftp-common.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-common.c", "shape": "dot", "size": 10, "source_code": "143: \t\t\tif ((r = sshbuf_get_cstring(b, \u0026type, NULL)) != 0 ||\n144: \t\t\t    (r = sshbuf_get_string(b, \u0026data, \u0026dlen)) != 0)", "source_name": "decode_attrib", "start_code_line": 143, "target_name": "sshbuf_get_cstring"}, {"color": "#97c2fc", "desc": "\u5411\u7f13\u51b2\u533a\u5199\u5165u32", "end_code_line": 170, "id": "sftp-common.c|encode_attrib", "label": "sftp-common.c|encode_attrib", "name": "sftp-common.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-common.c", "shape": "dot", "size": 10, "source_code": "168: \t\tif ((r = sshbuf_put_u32(b, a-\u003euid)) != 0 ||\n169: \t\t    (r = sshbuf_put_u32(b, a-\u003egid)) != 0)\n170: \t\t\treturn r;", "source_name": "encode_attrib", "start_code_line": 168, "target_name": "sshbuf_put_u32"}, {"color": "#97c2fc", "desc": "\u5411\u7f13\u51b2\u533a\u5199\u5165u32", "end_code_line": 161, "id": "sftp-common.c|sshbuf_put_u32", "label": "sftp-common.c|sshbuf_put_u32", "name": "sftp-common.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-common.c", "shape": "dot", "size": 10, "source_code": "161: \tif ((r = sshbuf_put_u32(b, a-\u003eflags)) != 0)", "source_name": "encode_attrib", "start_code_line": 161, "target_name": "sshbuf_put_u32"}, {"color": "#97c2fc", "desc": "\u5411\u7f13\u51b2\u533a\u5199\u5165u64", "end_code_line": 164, "id": "sftp-common.c|sshbuf_put_u64", "label": "sftp-common.c|sshbuf_put_u64", "name": "sftp-common.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-common.c", "shape": "dot", "size": 10, "source_code": "164: \t\tif ((r = sshbuf_put_u64(b, a-\u003esize)) != 0)", "source_name": "encode_attrib", "start_code_line": 164, "target_name": "sshbuf_put_u64"}, {"color": "#97c2fc", "desc": "\u6839\u636e\u72b6\u6001\u7801\u8fd4\u56de\u6587\u672c\u4fe1\u606f", "end_code_line": 210, "id": "sftp-common.c|fx2txt", "label": "sftp-common.c|fx2txt", "name": "sftp-common.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-common.c", "shape": "dot", "size": 10, "source_code": "186: fx2txt(int status)\n187: {\n188: \tswitch (status) {\n189: \tcase SSH2_FX_OK:\n190: \t\treturn(\"No error\");\n191: \tcase SSH2_FX_EOF:\n192: \t\treturn(\"End of file\");\n193: \tcase SSH2_FX_NO_SUCH_FILE:\n194: \t\treturn(\"No such file or directory\");\n195: \tcase SSH2_FX_PERMISSION_DENIED:\n196: \t\treturn(\"Permission denied\");\n197: \tcase SSH2_FX_FAILURE:\n198: \t\treturn(\"Failure\");\n199: \tcase SSH2_FX_BAD_MESSAGE:\n200: \t\treturn(\"Bad message\");\n201: \tcase SSH2_FX_NO_CONNECTION:\n202: \t\treturn(\"No connection\");\n203: \tcase SSH2_FX_CONNECTION_LOST:\n204: \t\treturn(\"Connection lost\");\n205: \tcase SSH2_FX_OP_UNSUPPORTED:\n206: \t\treturn(\"Operation unsupported\");\n207: \tdefault:\n208: \t\treturn(\"Unknown status\");\n209: \t}\n210: \t/* NOTREACHED */", "source_name": "fx2txt", "start_code_line": 186, "target_name": ""}, {"color": "#97c2fc", "desc": "\u590d\u5236\u5b57\u7b26\u4e32\u5e76\u5206\u914d\u5185\u5b58", "end_code_line": 264, "id": "sftp-common.c|ls_file", "label": "sftp-common.c|ls_file", "name": "sftp-common.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-common.c", "shape": "dot", "size": 10, "source_code": "264: \treturn xstrdup(buf);", "source_name": "ls_file", "start_code_line": 264, "target_name": "xstrdup"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u6587\u4ef6\u7684\u672c\u5730\u65f6\u95f4\u4fe1\u606f", "end_code_line": 221, "id": "sftp-common.c|localtime", "label": "sftp-common.c|localtime", "name": "sftp-common.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-common.c", "shape": "dot", "size": 10, "source_code": "217: ls_file(const char *name, const struct stat *st, int remote, int si_units,\n218:     const char *user, const char *group)\n219: {\n220: \tint ulen, glen, sz = 0;\n221: \tstruct tm *ltime = localtime(\u0026st-\u003est_mtime);", "source_name": "ls_file", "start_code_line": 217, "target_name": "localtime"}, {"color": "#97c2fc", "desc": "\u8bbe\u7f6e\u6587\u4ef6\u6a21\u5f0f\u5b57\u7b26\u4e32", "end_code_line": 226, "id": "sftp-common.c|strmode", "label": "sftp-common.c|strmode", "name": "sftp-common.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-common.c", "shape": "dot", "size": 10, "source_code": "226: \tstrmode(st-\u003est_mode, mode);", "source_name": "ls_file", "start_code_line": 226, "target_name": "strmode"}, {"color": "#97c2fc", "desc": "\u6839\u636eUID\u83b7\u53d6\u7528\u6237\u540d", "end_code_line": 238, "id": "sftp-common.c|user_from_uid", "label": "sftp-common.c|user_from_uid", "name": "sftp-common.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-common.c", "shape": "dot", "size": 10, "source_code": "238: \t\tuser = user_from_uid(st-\u003est_uid, 0);", "source_name": "ls_file", "start_code_line": 238, "target_name": "user_from_uid"}, {"color": "#97c2fc", "desc": "\u6839\u636eGID\u83b7\u53d6\u7ec4\u540d", "end_code_line": 239, "id": "sftp-common.c|group_from_gid", "label": "sftp-common.c|group_from_gid", "name": "sftp-common.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-common.c", "shape": "dot", "size": 10, "source_code": "239: \t\tgroup = group_from_gid(st-\u003est_gid, 0);", "source_name": "ls_file", "start_code_line": 239, "target_name": "group_from_gid"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u5f53\u524d\u65f6\u95f4", "end_code_line": 243, "id": "sftp-common.c|time", "label": "sftp-common.c|time", "name": "sftp-common.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-common.c", "shape": "dot", "size": 10, "source_code": "243: \t\tnow = time(NULL);", "source_name": "ls_file", "start_code_line": 243, "target_name": "time"}, {"color": "#97c2fc", "desc": "\u683c\u5f0f\u5316\u65f6\u95f4\u4e3a\u5b57\u7b26\u4e32", "end_code_line": 248, "id": "sftp-common.c|strftime", "label": "sftp-common.c|strftime", "name": "sftp-common.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-common.c", "shape": "dot", "size": 10, "source_code": "246: \t\t\tsz = strftime(tbuf, sizeof tbuf, \"%b %e %H:%M\", ltime);\n247: \t\telse\n248: \t\t\tsz = strftime(tbuf, sizeof tbuf, \"%b %e  %Y\", ltime);", "source_name": "ls_file", "start_code_line": 246, "target_name": "strftime"}, {"color": "#97c2fc", "desc": "\u8ba1\u7b97\u6700\u5927\u503c", "end_code_line": 253, "id": "sftp-common.c|MAXIMUM", "label": "sftp-common.c|MAXIMUM", "name": "sftp-common.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-common.c", "shape": "dot", "size": 10, "source_code": "252: \tulen = MAXIMUM(strlen(user), 8);\n253: \tglen = MAXIMUM(strlen(group), 8);", "source_name": "ls_file", "start_code_line": 252, "target_name": "MAXIMUM"}, {"color": "#97c2fc", "desc": "\u683c\u5f0f\u5316\u6587\u4ef6\u5927\u5c0f\u4e3a\u4eba\u7c7b\u53ef\u8bfb\u5f62\u5f0f", "end_code_line": 255, "id": "sftp-common.c|fmt_scaled", "label": "sftp-common.c|fmt_scaled", "name": "sftp-common.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-common.c", "shape": "dot", "size": 10, "source_code": "255: \t\tfmt_scaled((long long)st-\u003est_size, sbuf);", "source_name": "ls_file", "start_code_line": 255, "target_name": "fmt_scaled"}, {"color": "#97c2fc", "desc": "\u590d\u5236\u5b57\u7b26\u4e32\u5e76\u5206\u914d\u5185\u5b58", "end_code_line": 264, "id": "sftp-common.c|xstrdup", "label": "sftp-common.c|xstrdup", "name": "sftp-common.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-common.c", "shape": "dot", "size": 10, "source_code": "264: \treturn xstrdup(buf);", "source_name": "ls_file", "start_code_line": 264, "target_name": "xstrdup"}, {"color": "#97c2fc", "desc": "\u6e05\u7406\u9000\u51fa", "end_code_line": 34, "id": "sftp-server-main.c|cleanup_exit", "label": "sftp-server-main.c|cleanup_exit", "name": "sftp-server-main.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server-main.c", "shape": "dot", "size": 10, "source_code": "32: cleanup_exit(int i)\n33: {\n34: \tsftp_server_cleanup_exit(i);", "source_name": "cleanup_exit", "start_code_line": 32, "target_name": "sftp_server_cleanup_exit"}, {"color": "#97c2fc", "desc": "\u6e05\u7406\u9000\u51fa", "end_code_line": 34, "id": "sftp-server-main.c|sftp_server_cleanup_exit", "label": "sftp-server-main.c|sftp_server_cleanup_exit", "name": "sftp-server-main.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server-main.c", "shape": "dot", "size": 10, "source_code": "32: cleanup_exit(int i)\n33: {\n34: \tsftp_server_cleanup_exit(i);", "source_name": "cleanup_exit", "start_code_line": 32, "target_name": "sftp_server_cleanup_exit"}, {"color": "#97c2fc", "desc": "\u542f\u52a8SFTP\u670d\u52a1\u5668", "end_code_line": 51, "id": "sftp-server-main.c|main", "label": "sftp-server-main.c|main", "name": "sftp-server-main.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server-main.c", "shape": "dot", "size": 10, "source_code": "51: \treturn (sftp_server_main(argc, argv, user_pw));", "source_name": "main", "start_code_line": 51, "target_name": "sftp_server_main"}, {"color": "#97c2fc", "desc": "\u786e\u4fdd\u6807\u51c6\u6587\u4ef6\u63cf\u8ff0\u7b26", "end_code_line": 43, "id": "sftp-server-main.c|sanitise_stdfd", "label": "sftp-server-main.c|sanitise_stdfd", "name": "sftp-server-main.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server-main.c", "shape": "dot", "size": 10, "source_code": "43: \tsanitise_stdfd();", "source_name": "main", "start_code_line": 43, "target_name": "sanitise_stdfd"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u7528\u6237\u4fe1\u606f", "end_code_line": 45, "id": "sftp-server-main.c|getpwuid", "label": "sftp-server-main.c|getpwuid", "name": "sftp-server-main.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server-main.c", "shape": "dot", "size": 10, "source_code": "45: \tif ((user_pw = getpwuid(getuid())) == NULL) {", "source_name": "main", "start_code_line": 45, "target_name": "getpwuid"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u5f53\u524d\u7528\u6237ID", "end_code_line": 46, "id": "sftp-server-main.c|getuid", "label": "sftp-server-main.c|getuid", "name": "sftp-server-main.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server-main.c", "shape": "dot", "size": 10, "source_code": "46: \t\tfprintf(stderr, \"No user found for uid %lu\\n\",", "source_name": "main", "start_code_line": 46, "target_name": "getuid"}, {"color": "#97c2fc", "desc": "\u9519\u8bef\u8f93\u51fa\u7528\u6237\u4fe1\u606f", "end_code_line": 48, "id": "sftp-server-main.c|fprintf", "label": "sftp-server-main.c|fprintf", "name": "sftp-server-main.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server-main.c", "shape": "dot", "size": 10, "source_code": "46: \t\tfprintf(stderr, \"No user found for uid %lu\\n\",\n47: \t\t    (u_long)getuid());\n48: \t\treturn 1;", "source_name": "main", "start_code_line": 46, "target_name": "fprintf"}, {"color": "#97c2fc", "desc": "\u542f\u52a8SFTP\u670d\u52a1\u5668", "end_code_line": 51, "id": "sftp-server-main.c|sftp_server_main", "label": "sftp-server-main.c|sftp_server_main", "name": "sftp-server-main.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server-main.c", "shape": "dot", "size": 10, "source_code": "51: \treturn (sftp_server_main(argc, argv, user_pw));", "source_name": "main", "start_code_line": 51, "target_name": "sftp_server_main"}, {"color": "#97c2fc", "desc": "\u9519\u8bef\u5904\u7406", "end_code_line": 10, "id": "sftp-server.c|get_handle", "label": "sftp-server.c|get_handle", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": " 10: \t\tfatal(\"%s: buffer error: %s\", __func__, ssh_err(r));", "source_name": "get_handle", "start_code_line": 10, "target_name": "fatal"}, {"color": "#97c2fc", "desc": "\u83b7\u53d664\u4f4d\u65e0\u7b26\u53f7\u6574\u6570", "end_code_line": 7, "id": "sftp-server.c|sshbuf_get_u64", "label": "sftp-server.c|sshbuf_get_u64", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": "  5: \tif ((r = get_handle(iqueue, \u0026read_handle)) != 0 ||\n  6: \t    (r = sshbuf_get_u64(iqueue, \u0026read_off)) != 0 ||\n  7: \t    (r = sshbuf_get_u64(iqueue, \u0026read_len)) != 0 ||", "source_name": "get_handle", "start_code_line": 5, "target_name": "sshbuf_get_u64"}, {"color": "#97c2fc", "desc": "\u9519\u8bef\u5904\u7406", "end_code_line": 10, "id": "sftp-server.c|fatal", "label": "sftp-server.c|fatal", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": " 10: \t\tfatal(\"%s: buffer error: %s\", __func__, ssh_err(r));", "source_name": "get_handle", "start_code_line": 10, "target_name": "fatal"}, {"color": "#97c2fc", "desc": "\u5b57\u7b26\u4e32\u6bd4\u8f83", "end_code_line": 31, "id": "sftp-server.c|debug", "label": "sftp-server.c|debug", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": " 31: \t    !strcmp(handle_to_name(read_handle), handle_to_name(write_handle))) {", "source_name": "debug", "start_code_line": 31, "target_name": "strcmp"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u53e5\u67c4\u5bf9\u5e94\u540d\u79f0", "end_code_line": 16, "id": "sftp-server.c|handle_to_name", "label": "sftp-server.c|handle_to_name", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": " 12: \tdebug(\"request %u: copy-data from \\\"%s\\\" (handle %d) off %llu len %llu \"\n 13: \t    \"to \\\"%s\\\" (handle %d) off %llu\",\n 14: \t    id, handle_to_name(read_handle), read_handle,\n 15: \t    (unsigned long long)read_off, (unsigned long long)read_len,\n 16: \t    handle_to_name(write_handle), write_handle,", "source_name": "debug", "start_code_line": 12, "target_name": "handle_to_name"}, {"color": "#97c2fc", "desc": "\u5b57\u7b26\u4e32\u6bd4\u8f83", "end_code_line": 31, "id": "sftp-server.c|strcmp", "label": "sftp-server.c|strcmp", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": " 31: \t    !strcmp(handle_to_name(read_handle), handle_to_name(write_handle))) {", "source_name": "debug", "start_code_line": 31, "target_name": "strcmp"}, {"color": "#97c2fc", "desc": "\u8f6c\u6362errno\u4e3a\u53ef\u79fb\u690d\u503c", "end_code_line": 45, "id": "sftp-server.c|lseek", "label": "sftp-server.c|lseek", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": " 44: \t\tstatus = errno_to_portable(errno);\n 45: \t\terror(\"%s: write_seek failed\", __func__);", "source_name": "lseek", "start_code_line": 44, "target_name": "errno_to_portable"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u6587\u4ef6\u63cf\u8ff0\u7b26", "end_code_line": 27, "id": "sftp-server.c|handle_to_fd", "label": "sftp-server.c|handle_to_fd", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": " 26: \tread_fd = handle_to_fd(read_handle);\n 27: \twrite_fd = handle_to_fd(write_handle);", "source_name": "lseek", "start_code_line": 26, "target_name": "handle_to_fd"}, {"color": "#97c2fc", "desc": "\u8f6c\u6362errno\u4e3a\u53ef\u79fb\u690d\u503c", "end_code_line": 38, "id": "sftp-server.c|errno_to_portable", "label": "sftp-server.c|errno_to_portable", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": " 37: \t\tstatus = errno_to_portable(errno);\n 38: \t\terror(\"%s: read_seek failed\", __func__);", "source_name": "lseek", "start_code_line": 37, "target_name": "errno_to_portable"}, {"color": "#97c2fc", "desc": "\u5199\u5165\u6570\u636e\u5230\u6587\u4ef6\u63cf\u8ff0\u7b26", "end_code_line": 66, "id": "sftp-server.c|atomicio", "label": "sftp-server.c|atomicio", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": " 66: \t\tret = atomicio(vwrite, write_fd, buf, len);", "source_name": "atomicio", "start_code_line": 66, "target_name": "vwrite"}, {"color": "#97c2fc", "desc": "\u4ece\u6587\u4ef6\u63cf\u8ff0\u7b26\u8bfb\u53d6\u6570\u636e", "end_code_line": 54, "id": "sftp-server.c|read", "label": "sftp-server.c|read", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": " 54: \t\tret = atomicio(read, read_fd, buf, len);", "source_name": "atomicio", "start_code_line": 54, "target_name": "read"}, {"color": "#97c2fc", "desc": "\u5199\u5165\u6570\u636e\u5230\u6587\u4ef6\u63cf\u8ff0\u7b26", "end_code_line": 66, "id": "sftp-server.c|vwrite", "label": "sftp-server.c|vwrite", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": " 66: \t\tret = atomicio(vwrite, write_fd, buf, len);", "source_name": "atomicio", "start_code_line": 66, "target_name": "vwrite"}, {"color": "#97c2fc", "desc": "\u66f4\u65b0\u8bfb\u53d6\u53e5\u67c4", "end_code_line": 64, "id": "sftp-server.c|handle_update_read", "label": "sftp-server.c|handle_update_read", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": " 64: \t\thandle_update_read(read_handle, len);", "source_name": "handle_update_read", "start_code_line": 64, "target_name": "handle_update_read"}, {"color": "#97c2fc", "desc": "\u66f4\u65b0\u5199\u5165\u53e5\u67c4", "end_code_line": 74, "id": "sftp-server.c|handle_update_write", "label": "sftp-server.c|handle_update_write", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": " 74: \t\thandle_update_write(write_handle, len);", "source_name": "handle_update_write", "start_code_line": 74, "target_name": "handle_update_write"}, {"color": "#97c2fc", "desc": "\u89e3\u6790\u5b57\u7b26\u4e32\u5931\u8d25", "end_code_line": 174, "id": "sftp-server.c|sshbuf_get_cstring", "label": "sftp-server.c|sshbuf_get_cstring", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": "173: \tif ((r = sshbuf_get_cstring(iqueue, \u0026request, NULL)) != 0)\n174: \t\tfatal_fr(r, \"parse\");", "source_name": "sshbuf_get_cstring", "start_code_line": 173, "target_name": "fatal_fr"}, {"color": "#97c2fc", "desc": "\u5b57\u7b26\u4e32\u89e3\u6790\u5931\u8d25\u5904\u7406", "end_code_line": 93, "id": "sftp-server.c|fatal_fr", "label": "sftp-server.c|fatal_fr", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": " 92: \tif ((r = sshbuf_get_cstring(iqueue, \u0026username, NULL)) != 0)\n 93: \t\tfatal_fr(r, \"parse\");", "source_name": "sshbuf_get_cstring", "start_code_line": 92, "target_name": "fatal_fr"}, {"color": "#97c2fc", "desc": "\u6839\u636e\u7528\u6237\u540d\u83b7\u53d6\u7528\u6237\u4fe1\u606f", "end_code_line": 100, "id": "sftp-server.c|getpwnam", "label": "sftp-server.c|getpwnam", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": " 98: \t} else if ((user_pw = getpwnam(username)) == NULL) {\n 99: \t\tsend_status(id, SSH2_FX_FAILURE);\n100: \t\tgoto out;", "source_name": "getpwnam", "start_code_line": 98, "target_name": "send_status"}, {"color": "#97c2fc", "desc": "\u6839\u636e\u7528\u6237\u540d\u83b7\u53d6\u7528\u6237\u4fe1\u606f", "end_code_line": 100, "id": "sftp-server.c|send_status", "label": "sftp-server.c|send_status", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": " 98: \t} else if ((user_pw = getpwnam(username)) == NULL) {\n 99: \t\tsend_status(id, SSH2_FX_FAILURE);\n100: \t\tgoto out;", "source_name": "getpwnam", "start_code_line": 98, "target_name": "send_status"}, {"color": "#97c2fc", "desc": "\u521b\u5efa\u65b0sshbuf\u5931\u8d25", "end_code_line": 124, "id": "sftp-server.c|sshbuf_new", "label": "sftp-server.c|sshbuf_new", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": "121: \tif ((usernames = sshbuf_new()) == NULL ||\n122: \t    (groupnames = sshbuf_new()) == NULL ||\n123: \t    (msg = sshbuf_new()) == NULL)\n124: \t\tfatal_f(\"sshbuf_new failed\");", "source_name": "sshbuf_new", "start_code_line": 121, "target_name": "fatal_f"}, {"color": "#97c2fc", "desc": "\u521b\u5efa\u65b0sshbuf\u5931\u8d25", "end_code_line": 124, "id": "sftp-server.c|fatal_f", "label": "sftp-server.c|fatal_f", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": "121: \tif ((usernames = sshbuf_new()) == NULL ||\n122: \t    (groupnames = sshbuf_new()) == NULL ||\n123: \t    (msg = sshbuf_new()) == NULL)\n124: \t\tfatal_f(\"sshbuf_new failed\");", "source_name": "sshbuf_new", "start_code_line": 121, "target_name": "fatal_f"}, {"color": "#97c2fc", "desc": "\u4ecesshbuf\u4e2d\u89e3\u6790\u6570\u636e", "end_code_line": 127, "id": "sftp-server.c|sshbuf_froms", "label": "sftp-server.c|sshbuf_froms", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": "125: \tif ((r = sshbuf_froms(iqueue, \u0026uids)) != 0 ||\n126: \t    (r = sshbuf_froms(iqueue, \u0026gids)) != 0)\n127: \t\tfatal_fr(r, \"parse\");", "source_name": "sshbuf_froms", "start_code_line": 125, "target_name": "fatal_fr"}, {"color": "#97c2fc", "desc": "\u83b7\u53d632\u4f4d\u65e0\u7b26\u53f7\u6574\u6570", "end_code_line": 132, "id": "sftp-server.c|sshbuf_get_u32", "label": "sftp-server.c|sshbuf_get_u32", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": "131: \t\tif ((r = sshbuf_get_u32(uids, \u0026n)) != 0)\n132: \t\t\tfatal_fr(r, \"parse inner uid\");", "source_name": "sshbuf_get_u32", "start_code_line": 131, "target_name": "fatal_fr"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u7528\u6237\u540d\u79f0", "end_code_line": 135, "id": "sftp-server.c|getpwuid", "label": "sftp-server.c|getpwuid", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": "133: \t\tuser_pw = getpwuid((uid_t)n);\n134: \t\tname = user_pw == NULL ? \"\" : user_pw-\u003epw_name;\n135: \t\tdebug3_f(\"uid %u =\u003e \\\"%s\\\"\", n, name);", "source_name": "getpwuid", "start_code_line": 133, "target_name": "debug3_f"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u7528\u6237\u540d\u79f0", "end_code_line": 135, "id": "sftp-server.c|debug3_f", "label": "sftp-server.c|debug3_f", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": "133: \t\tuser_pw = getpwuid((uid_t)n);\n134: \t\tname = user_pw == NULL ? \"\" : user_pw-\u003epw_name;\n135: \t\tdebug3_f(\"uid %u =\u003e \\\"%s\\\"\", n, name);", "source_name": "getpwuid", "start_code_line": 133, "target_name": "debug3_f"}, {"color": "#97c2fc", "desc": "\u5c06\u5b57\u7b26\u4e32\u653e\u5165sshbuf\u4e2d", "end_code_line": 138, "id": "sftp-server.c|sshbuf_put_cstring", "label": "sftp-server.c|sshbuf_put_cstring", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": "136: \t\tif ((r = sshbuf_put_cstring(usernames, name)) != 0)\n137: \t\t\tfatal_fr(r, \"assemble uid reply\");\n138: \t\tnusers++;", "source_name": "sshbuf_put_cstring", "start_code_line": 136, "target_name": "fatal_fr"}, {"color": "#97c2fc", "desc": "\u653e\u51658\u4f4d\u6570\u636e\u5230sshbuf", "end_code_line": 156, "id": "sftp-server.c|sshbuf_put_u8", "label": "sftp-server.c|sshbuf_put_u8", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": "152: \tif ((r = sshbuf_put_u8(msg, SSH2_FXP_EXTENDED_REPLY)) != 0 ||\n153: \t    (r = sshbuf_put_u32(msg, id)) != 0 ||\n154: \t    (r = sshbuf_put_stringb(msg, usernames)) != 0 ||\n155: \t    (r = sshbuf_put_stringb(msg, groupnames)) != 0)\n156: \t\tfatal_fr(r, \"compose\");", "source_name": "sshbuf_put_u8", "start_code_line": 152, "target_name": "fatal_fr"}, {"color": "#97c2fc", "desc": "\u53d1\u9001\u6d88\u606f\u5e76\u91ca\u653esshbuf", "end_code_line": 162, "id": "sftp-server.c|send_msg", "label": "sftp-server.c|send_msg", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": "157: \tsend_msg(msg);\n158: \n159: \tsshbuf_free(uids);\n160: \tsshbuf_free(gids);\n161: \tsshbuf_free(usernames);\n162: \tsshbuf_free(groupnames);", "source_name": "send_msg", "start_code_line": 157, "target_name": "sshbuf_free"}, {"color": "#97c2fc", "desc": "\u53d1\u9001\u6d88\u606f\u5e76\u91ca\u653esshbuf", "end_code_line": 162, "id": "sftp-server.c|sshbuf_free", "label": "sftp-server.c|sshbuf_free", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": "157: \tsend_msg(msg);\n158: \n159: \tsshbuf_free(uids);\n160: \tsshbuf_free(gids);\n161: \tsshbuf_free(usernames);\n162: \tsshbuf_free(groupnames);", "source_name": "send_msg", "start_code_line": 157, "target_name": "sshbuf_free"}, {"color": "#97c2fc", "desc": "\u901a\u8fc7\u8bf7\u6c42\u540d\u83b7\u53d6\u5904\u7406\u5668", "end_code_line": 177, "id": "sftp-server.c|extended_handler_byname", "label": "sftp-server.c|extended_handler_byname", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": "175: \tif ((exthand = extended_handler_byname(request)) == NULL) {\n176: \t\terror(\"Unknown extended request \\\"%.100s\\\"\", request);\n177: \t\tsend_status(id, SSH2_FX_OP_UNSUPPORTED);\t/* MUST */", "source_name": "extended_handler_byname", "start_code_line": 175, "target_name": "error"}, {"color": "#97c2fc", "desc": "\u901a\u8fc7\u8bf7\u6c42\u540d\u83b7\u53d6\u5904\u7406\u5668", "end_code_line": 177, "id": "sftp-server.c|error", "label": "sftp-server.c|error", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": "175: \tif ((exthand = extended_handler_byname(request)) == NULL) {\n176: \t\terror(\"Unknown extended request \\\"%.100s\\\"\", request);\n177: \t\tsend_status(id, SSH2_FX_OP_UNSUPPORTED);\t/* MUST */", "source_name": "extended_handler_byname", "start_code_line": 175, "target_name": "error"}, {"color": "#97c2fc", "desc": "\u8c03\u7528\u6269\u5c55\u8bf7\u6c42\u5904\u7406\u5668", "end_code_line": 184, "id": "sftp-server.c|exthand-\u003ehandler", "label": "sftp-server.c|exthand-\u003ehandler", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": "182: \t\t\texthand-\u003ehandler(id);\n183: \t}\n184: \tfree(request);", "source_name": "exthand-\u003ehandler", "start_code_line": 182, "target_name": "free"}, {"color": "#97c2fc", "desc": "\u8c03\u7528\u6269\u5c55\u8bf7\u6c42\u5904\u7406\u5668", "end_code_line": 184, "id": "sftp-server.c|free", "label": "sftp-server.c|free", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": "182: \t\t\texthand-\u003ehandler(id);\n183: \t}\n184: \tfree(request);", "source_name": "exthand-\u003ehandler", "start_code_line": 182, "target_name": "free"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6sshbuf\u957f\u5ea6", "end_code_line": 207, "id": "sftp-server.c|sshbuf_len", "label": "sftp-server.c|sshbuf_len", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": "201: \tif (buf_len \u003c 5)\n202: \t\treturn;\t\t/* Incomplete message. */\n203: \tcp = sshbuf_ptr(iqueue);\n204: \tmsg_len = get_u32(cp);\n205: \tif (msg_len \u003e SFTP_MAX_MSG_LENGTH) {\n206: \t\terror(\"bad message from %s local user %s\",\n207: \t\t    client_addr, pw-\u003epw_name);", "source_name": "sshbuf_len", "start_code_line": 201, "target_name": "logit"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6sshbuf\u957f\u5ea6", "end_code_line": 207, "id": "sftp-server.c|logit", "label": "sftp-server.c|logit", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": "201: \tif (buf_len \u003c 5)\n202: \t\treturn;\t\t/* Incomplete message. */\n203: \tcp = sshbuf_ptr(iqueue);\n204: \tmsg_len = get_u32(cp);\n205: \tif (msg_len \u003e SFTP_MAX_MSG_LENGTH) {\n206: \t\terror(\"bad message from %s local user %s\",\n207: \t\t    client_addr, pw-\u003epw_name);", "source_name": "sshbuf_len", "start_code_line": 201, "target_name": "logit"}, {"color": "#97c2fc", "desc": "\u83b7\u53d68\u4f4d\u6570\u636e\u5931\u8d25", "end_code_line": 216, "id": "sftp-server.c|sshbuf_get_u8", "label": "sftp-server.c|sshbuf_get_u8", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": "215: \tif ((r = sshbuf_get_u8(iqueue, \u0026type)) != 0)\n216: \t\tfatal_fr(r, \"parse type\");", "source_name": "sshbuf_get_u8", "start_code_line": 215, "target_name": "fatal_fr"}, {"color": "#97c2fc", "desc": "\u68c0\u67e5sshbuf\u9884\u7559\u7a7a\u95f4", "end_code_line": 441, "id": "sftp-server.c|sshbuf_check_reserve", "label": "sftp-server.c|sshbuf_check_reserve", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": "434: \t\tif ((r = sshbuf_check_reserve(iqueue, sizeof(buf))) == 0 \u0026\u0026\n435: \t\t    (r = sshbuf_check_reserve(oqueue,\n436: \t\t    SFTP_MAX_MSG_LENGTH)) == 0) {\n437: \t\t\tpfd[0].fd = in;\n438: \t\t\tpfd[0].events = POLLIN;\n439: \t\t}\n440: \t\telse if (r != SSH_ERR_NO_BUFFER_SPACE)\n441: \t\t\tfatal_fr(r, \"reserve\");", "source_name": "sshbuf_check_reserve", "start_code_line": 434, "target_name": "fatal_fr"}, {"color": "#97c2fc", "desc": "\u5c06\u6570\u636e\u653e\u5165sshbuf", "end_code_line": 468, "id": "sftp-server.c|sshbuf_put", "label": "sftp-server.c|sshbuf_put", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": "468: \t\t\t\tfatal_fr(r, \"sshbuf_put\");", "source_name": "sshbuf_put", "start_code_line": 468, "target_name": "fatal_fr"}, {"color": "#97c2fc", "desc": "\u68c0\u67e5\u8f93\u51fa\u7f13\u51b2\u533a\u7a7a\u95f4", "end_code_line": 493, "id": "sftp-server.c|process", "label": "sftp-server.c|process", "name": "sftp-server.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-server.c", "shape": "dot", "size": 10, "source_code": "491: \t\tr = sshbuf_check_reserve(oqueue, SFTP_MAX_MSG_LENGTH);\n492: \t\tif (r == 0)\n493: \t\t\tprocess();", "source_name": "process", "start_code_line": 491, "target_name": "sshbuf_check_reserve"}, {"color": "#97c2fc", "desc": "\u91ca\u653e\u7528\u6237\u7ec4\u540d\u79f0", "end_code_line": 130, "id": "sftp-usergroup.c|lookup_and_record", "label": "sftp-usergroup.c|lookup_and_record", "name": "sftp-usergroup.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-usergroup.c", "shape": "dot", "size": 10, "source_code": "130: \tfreenames(usernames, nuids);", "source_name": "lookup_and_record", "start_code_line": 130, "target_name": "freenames"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u7528\u6237\u7ec4\u4fe1\u606f", "end_code_line": 112, "id": "sftp-usergroup.c|sftp_get_users_groups_by_id", "label": "sftp-usergroup.c|sftp_get_users_groups_by_id", "name": "sftp-usergroup.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-usergroup.c", "shape": "dot", "size": 10, "source_code": "102: lookup_and_record(struct sftp_conn *conn,\n103:     u_int *uids, u_int nuids, u_int *gids, u_int ngids)\n104: {\n105: \tint r;\n106: \tu_int i;\n107: \tchar **usernames = NULL, **groupnames = NULL;\n108: \n109: \tif ((r = sftp_get_users_groups_by_id(conn, uids, nuids, gids, ngids,\n110: \t    \u0026usernames, \u0026groupnames)) != 0) {\n111: \t\tdebug_fr(r, \"sftp_get_users_groups_by_id\");\n112: \t\treturn;", "source_name": "lookup_and_record", "start_code_line": 102, "target_name": "sftp_get_users_groups_by_id"}, {"color": "#97c2fc", "desc": "\u8bb0\u5f55\u8c03\u8bd5\u4fe1\u606f", "end_code_line": 111, "id": "sftp-usergroup.c|debug_fr", "label": "sftp-usergroup.c|debug_fr", "name": "sftp-usergroup.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-usergroup.c", "shape": "dot", "size": 10, "source_code": "111: \t\tdebug_fr(r, \"sftp_get_users_groups_by_id\");", "source_name": "lookup_and_record", "start_code_line": 111, "target_name": "debug_fr"}, {"color": "#97c2fc", "desc": "\u8bb0\u5f55UID", "end_code_line": 120, "id": "sftp-usergroup.c|idname_enter", "label": "sftp-usergroup.c|idname_enter", "name": "sftp-usergroup.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-usergroup.c", "shape": "dot", "size": 10, "source_code": "120: \t\tidname_enter(\u0026user_idname, uids[i], usernames[i]);", "source_name": "lookup_and_record", "start_code_line": 120, "target_name": "idname_enter"}, {"color": "#97c2fc", "desc": "\u91ca\u653e\u7528\u6237\u7ec4\u540d\u79f0", "end_code_line": 130, "id": "sftp-usergroup.c|freenames", "label": "sftp-usergroup.c|freenames", "name": "sftp-usergroup.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-usergroup.c", "shape": "dot", "size": 10, "source_code": "130: \tfreenames(usernames, nuids);", "source_name": "lookup_and_record", "start_code_line": 130, "target_name": "freenames"}, {"color": "#97c2fc", "desc": "\u91ca\u653eGID", "end_code_line": 186, "id": "sftp-usergroup.c|get_remote_user_groups_from_glob", "label": "sftp-usergroup.c|get_remote_user_groups_from_glob", "name": "sftp-usergroup.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-usergroup.c", "shape": "dot", "size": 10, "source_code": "186: \tfree(gids);", "source_name": "get_remote_user_groups_from_glob", "start_code_line": 186, "target_name": "free"}, {"color": "#97c2fc", "desc": "\u68c0\u67e5\u83b7\u53d6\u7528\u6237\u7ec4\u80fd\u529b", "end_code_line": 180, "id": "sftp-usergroup.c|sftp_can_get_users_groups_by_id", "label": "sftp-usergroup.c|sftp_can_get_users_groups_by_id", "name": "sftp-usergroup.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-usergroup.c", "shape": "dot", "size": 10, "source_code": "179: \tif (!sftp_can_get_users_groups_by_id(conn))\n180: \t\treturn;", "source_name": "get_remote_user_groups_from_glob", "start_code_line": 179, "target_name": "sftp_can_get_users_groups_by_id"}, {"color": "#97c2fc", "desc": "\u6536\u96c6UID", "end_code_line": 182, "id": "sftp-usergroup.c|collect_ids_from_glob", "label": "sftp-usergroup.c|collect_ids_from_glob", "name": "sftp-usergroup.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-usergroup.c", "shape": "dot", "size": 10, "source_code": "182: \tcollect_ids_from_glob(g, 1, \u0026uids, \u0026nuids);", "source_name": "get_remote_user_groups_from_glob", "start_code_line": 182, "target_name": "collect_ids_from_glob"}, {"color": "#97c2fc", "desc": "\u91ca\u653eUID", "end_code_line": 185, "id": "sftp-usergroup.c|free", "label": "sftp-usergroup.c|free", "name": "sftp-usergroup.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-usergroup.c", "shape": "dot", "size": 10, "source_code": "185: \tfree(uids);", "source_name": "get_remote_user_groups_from_glob", "start_code_line": 185, "target_name": "free"}, {"color": "#97c2fc", "desc": "\u91ca\u653eGID", "end_code_line": 225, "id": "sftp-usergroup.c|get_remote_user_groups_from_dirents", "label": "sftp-usergroup.c|get_remote_user_groups_from_dirents", "name": "sftp-usergroup.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-usergroup.c", "shape": "dot", "size": 10, "source_code": "225: \tfree(gids);", "source_name": "get_remote_user_groups_from_dirents", "start_code_line": 225, "target_name": "free"}, {"color": "#97c2fc", "desc": "\u6536\u96c6UID", "end_code_line": 221, "id": "sftp-usergroup.c|collect_ids_from_dirents", "label": "sftp-usergroup.c|collect_ids_from_dirents", "name": "sftp-usergroup.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-usergroup.c", "shape": "dot", "size": 10, "source_code": "221: \tcollect_ids_from_dirents(d, 1, \u0026uids, \u0026nuids);", "source_name": "get_remote_user_groups_from_dirents", "start_code_line": 221, "target_name": "collect_ids_from_dirents"}, {"color": "#97c2fc", "desc": "\u67e5\u627e\u7528\u6237\u540d\u79f0", "end_code_line": 231, "id": "sftp-usergroup.c|ruser_name", "label": "sftp-usergroup.c|ruser_name", "name": "sftp-usergroup.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-usergroup.c", "shape": "dot", "size": 10, "source_code": "229: ruser_name(uid_t uid)\n230: {\n231: \treturn idname_lookup(\u0026user_idname, (u_int)uid);", "source_name": "ruser_name", "start_code_line": 229, "target_name": "idname_lookup"}, {"color": "#97c2fc", "desc": "\u67e5\u627e\u7528\u6237\u540d\u79f0", "end_code_line": 231, "id": "sftp-usergroup.c|idname_lookup", "label": "sftp-usergroup.c|idname_lookup", "name": "sftp-usergroup.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-usergroup.c", "shape": "dot", "size": 10, "source_code": "229: ruser_name(uid_t uid)\n230: {\n231: \treturn idname_lookup(\u0026user_idname, (u_int)uid);", "source_name": "ruser_name", "start_code_line": 229, "target_name": "idname_lookup"}, {"color": "#97c2fc", "desc": "\u67e5\u627e\u7ec4\u540d\u79f0", "end_code_line": 237, "id": "sftp-usergroup.c|rgroup_name", "label": "sftp-usergroup.c|rgroup_name", "name": "sftp-usergroup.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sftp-usergroup.c", "shape": "dot", "size": 10, "source_code": "235: rgroup_name(uid_t gid)\n236: {\n237: \treturn idname_lookup(\u0026group_idname, (u_int)gid);", "source_name": "rgroup_name", "start_code_line": 235, "target_name": "idname_lookup"}, {"color": "#97c2fc", "desc": "\u91ca\u653e\u5185\u5b58", "end_code_line": 66, "id": "ssh-sk-helper.c|reply_error", "label": "ssh-sk-helper.c|reply_error", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": " 66: \tfree(msg);", "source_name": "reply_error", "start_code_line": 66, "target_name": "free"}, {"color": "#97c2fc", "desc": "\u8bb0\u5f55\u8c03\u8bd5\u4fe1\u606f", "end_code_line": 65, "id": "ssh-sk-helper.c|debug", "label": "ssh-sk-helper.c|debug", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": " 55: static struct sshbuf *\n 56: reply_error(int r, char *fmt, ...)\n 57: {\n 58: \tchar *msg;\n 59: \tva_list ap;\n 60: \tstruct sshbuf *resp;\n 61: \n 62: \tva_start(ap, fmt);\n 63: \txvasprintf(\u0026msg, fmt, ap);\n 64: \tva_end(ap);\n 65: \tdebug(\"%s: %s\", __progname, msg);", "source_name": "reply_error", "start_code_line": 55, "target_name": "debug"}, {"color": "#97c2fc", "desc": "\u521b\u5efa\u65b0\u7684sshbuf\u5b9e\u4f8b", "end_code_line": 71, "id": "ssh-sk-helper.c|sshbuf_new", "label": "ssh-sk-helper.c|sshbuf_new", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": " 71: \tif ((resp = sshbuf_new()) == NULL)", "source_name": "reply_error", "start_code_line": 71, "target_name": "sshbuf_new"}, {"color": "#97c2fc", "desc": "\u5904\u7406\u9519\u8bef\u4ee3\u7801", "end_code_line": 69, "id": "ssh-sk-helper.c|fatal_f", "label": "ssh-sk-helper.c|fatal_f", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": " 69: \t\tfatal_f(\"invalid error code %d\", r);", "source_name": "reply_error", "start_code_line": 69, "target_name": "fatal_f"}, {"color": "#97c2fc", "desc": "\u91ca\u653e\u5185\u5b58", "end_code_line": 66, "id": "ssh-sk-helper.c|free", "label": "ssh-sk-helper.c|free", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": " 66: \tfree(msg);", "source_name": "reply_error", "start_code_line": 66, "target_name": "free"}, {"color": "#97c2fc", "desc": "\u91ca\u653e\u5185\u5b58", "end_code_line": 86, "id": "ssh-sk-helper.c|null_empty", "label": "ssh-sk-helper.c|null_empty", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": " 86: \tfree(*s);", "source_name": "null_empty", "start_code_line": 86, "target_name": "free"}, {"color": "#97c2fc", "desc": "\u5199\u5165\u5b57\u7b26\u4e32\u5230sshbuf", "end_code_line": 135, "id": "ssh-sk-helper.c|process_sign", "label": "ssh-sk-helper.c|process_sign", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": "135: \t    (r = sshbuf_put_string(resp, sig, siglen)) != 0)", "source_name": "process_sign", "start_code_line": 135, "target_name": "sshbuf_put_string"}, {"color": "#97c2fc", "desc": "\u4ecesshbuf\u89e3\u6790", "end_code_line": 102, "id": "ssh-sk-helper.c|sshbuf_froms", "label": "ssh-sk-helper.c|sshbuf_froms", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": "102: \tif ((r = sshbuf_froms(req, \u0026kbuf)) != 0 ||", "source_name": "process_sign", "start_code_line": 102, "target_name": "sshbuf_froms"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u5b57\u7b26\u4e32", "end_code_line": 103, "id": "ssh-sk-helper.c|sshbuf_get_cstring", "label": "ssh-sk-helper.c|sshbuf_get_cstring", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": "103: \t    (r = sshbuf_get_cstring(req, \u0026provider, NULL)) != 0 ||", "source_name": "process_sign", "start_code_line": 103, "target_name": "sshbuf_get_cstring"}, {"color": "#97c2fc", "desc": "\u76f4\u63a5\u83b7\u53d6\u5b57\u7b26\u4e32", "end_code_line": 104, "id": "ssh-sk-helper.c|sshbuf_get_string_direct", "label": "ssh-sk-helper.c|sshbuf_get_string_direct", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": "104: \t    (r = sshbuf_get_string_direct(req, \u0026message, \u0026msglen)) != 0 ||", "source_name": "process_sign", "start_code_line": 104, "target_name": "sshbuf_get_string_direct"}, {"color": "#97c2fc", "desc": "\u83b7\u53d632\u4f4d\u65e0\u7b26\u53f7\u6574\u6570", "end_code_line": 106, "id": "ssh-sk-helper.c|sshbuf_get_u32", "label": "ssh-sk-helper.c|sshbuf_get_u32", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": "106: \t    (r = sshbuf_get_u32(req, \u0026compat)) != 0 ||", "source_name": "process_sign", "start_code_line": 106, "target_name": "sshbuf_get_u32"}, {"color": "#97c2fc", "desc": "\u53cd\u5e8f\u5217\u5316\u79c1\u94a5", "end_code_line": 112, "id": "ssh-sk-helper.c|sshkey_private_deserialize", "label": "ssh-sk-helper.c|sshkey_private_deserialize", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": "112: \tif ((r = sshkey_private_deserialize(kbuf, \u0026key)) != 0)", "source_name": "process_sign", "start_code_line": 112, "target_name": "sshkey_private_deserialize"}, {"color": "#97c2fc", "desc": "\u68c0\u67e5\u5bc6\u94a5\u7c7b\u578b", "end_code_line": 114, "id": "ssh-sk-helper.c|sshkey_is_sk", "label": "ssh-sk-helper.c|sshkey_is_sk", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": "114: \tif (!sshkey_is_sk(key)) {", "source_name": "process_sign", "start_code_line": 114, "target_name": "sshkey_is_sk"}, {"color": "#97c2fc", "desc": "\u5199\u516532\u4f4d\u65e0\u7b26\u53f7\u6574\u6570\u5230sshbuf", "end_code_line": 134, "id": "ssh-sk-helper.c|sshbuf_put_u32", "label": "ssh-sk-helper.c|sshbuf_put_u32", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": "134: \tif ((r = sshbuf_put_u32(resp, SSH_SK_HELPER_SIGN)) != 0 ||", "source_name": "process_sign", "start_code_line": 134, "target_name": "sshbuf_put_u32"}, {"color": "#97c2fc", "desc": "\u5199\u5165\u5b57\u7b26\u4e32\u5230sshbuf", "end_code_line": 135, "id": "ssh-sk-helper.c|sshbuf_put_string", "label": "ssh-sk-helper.c|sshbuf_put_string", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": "135: \t    (r = sshbuf_put_string(resp, sig, siglen)) != 0)", "source_name": "process_sign", "start_code_line": 135, "target_name": "sshbuf_put_string"}, {"color": "#97c2fc", "desc": "\u5e8f\u5217\u5316\u79c1\u94a5", "end_code_line": 192, "id": "ssh-sk-helper.c|process_enroll", "label": "ssh-sk-helper.c|process_enroll", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": "192: \tif ((r = sshkey_private_serialize(key, kbuf)) != 0)", "source_name": "process_enroll", "start_code_line": 192, "target_name": "sshkey_private_serialize"}, {"color": "#97c2fc", "desc": "\u83b7\u53d68\u4f4d\u65e0\u7b26\u53f7\u6574\u6570", "end_code_line": 167, "id": "ssh-sk-helper.c|sshbuf_get_u8", "label": "ssh-sk-helper.c|sshbuf_get_u8", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": "167: \t    (r = sshbuf_get_u8(req, \u0026flags)) != 0 ||", "source_name": "process_enroll", "start_code_line": 167, "target_name": "sshbuf_get_u8"}, {"color": "#97c2fc", "desc": "\u5e8f\u5217\u5316\u79c1\u94a5", "end_code_line": 192, "id": "ssh-sk-helper.c|sshkey_private_serialize", "label": "ssh-sk-helper.c|sshkey_private_serialize", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": "192: \tif ((r = sshkey_private_serialize(key, kbuf)) != 0)", "source_name": "process_enroll", "start_code_line": 192, "target_name": "sshkey_private_serialize"}, {"color": "#97c2fc", "desc": "\u5199\u516532\u4f4d\u65e0\u7b26\u53f7\u6574\u6570\u5230sshbuf", "end_code_line": 246, "id": "ssh-sk-helper.c|process_load_resident", "label": "ssh-sk-helper.c|process_load_resident", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": "246: \tif ((r = sshbuf_put_u32(resp, SSH_SK_HELPER_LOAD_RESIDENT)) != 0)", "source_name": "process_load_resident", "start_code_line": 246, "target_name": "sshbuf_put_u32"}, {"color": "#97c2fc", "desc": "\u52a0\u8f7d\u5c45\u6c11\u5bc6\u94a5", "end_code_line": 236, "id": "ssh-sk-helper.c|sshsk_load_resident", "label": "ssh-sk-helper.c|sshsk_load_resident", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": "236: \tif ((r = sshsk_load_resident(provider, device, pin, flags,", "source_name": "process_load_resident", "start_code_line": 236, "target_name": "sshsk_load_resident"}, {"color": "#97c2fc", "desc": "\u53d1\u9001\u6d88\u606f", "end_code_line": 351, "id": "ssh-sk-helper.c|main", "label": "ssh-sk-helper.c|main", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": "351: \tif (ssh_msg_send(out, SSH_SK_HELPER_VERSION, resp) == -1)", "source_name": "main", "start_code_line": 351, "target_name": "ssh_msg_send"}, {"color": "#97c2fc", "desc": "\u6e05\u7406\u6807\u51c6\u8f93\u5165\u8f93\u51fa", "end_code_line": 283, "id": "ssh-sk-helper.c|sanitise_stdfd", "label": "ssh-sk-helper.c|sanitise_stdfd", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": "283: \tsanitise_stdfd();", "source_name": "main", "start_code_line": 283, "target_name": "sanitise_stdfd"}, {"color": "#97c2fc", "desc": "\u521d\u59cb\u5316\u65e5\u5fd7\u529f\u80fd", "end_code_line": 284, "id": "ssh-sk-helper.c|log_init", "label": "ssh-sk-helper.c|log_init", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": "284: \tlog_init(__progname, log_level, log_facility, log_stderr);", "source_name": "main", "start_code_line": 284, "target_name": "log_init"}, {"color": "#97c2fc", "desc": "\u63a5\u6536\u6d88\u606f", "end_code_line": 315, "id": "ssh-sk-helper.c|ssh_msg_recv", "label": "ssh-sk-helper.c|ssh_msg_recv", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": "315: \tif (ssh_msg_recv(in, req) \u003c 0)", "source_name": "main", "start_code_line": 315, "target_name": "ssh_msg_recv"}, {"color": "#97c2fc", "desc": "\u53d1\u9001\u6d88\u606f", "end_code_line": 351, "id": "ssh-sk-helper.c|ssh_msg_send", "label": "ssh-sk-helper.c|ssh_msg_send", "name": "ssh-sk-helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\ssh-sk-helper.c", "shape": "dot", "size": 10, "source_code": "351: \tif (ssh_msg_send(out, SSH_SK_HELPER_VERSION, resp) == -1)", "source_name": "main", "start_code_line": 351, "target_name": "ssh_msg_send"}, {"color": "#97c2fc", "desc": "\u91ca\u653esshbuf\u8d44\u6e90", "end_code_line": 76, "id": "sshbuf-io.c|sshbuf_load_fd", "label": "sshbuf-io.c|sshbuf_load_fd", "name": "sshbuf-io.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sshbuf-io.c", "shape": "dot", "size": 10, "source_code": " 76: \tsshbuf_free(blob);", "source_name": "sshbuf_load_fd", "start_code_line": 76, "target_name": "sshbuf_free"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u6587\u4ef6\u72b6\u6001", "end_code_line": 44, "id": "sshbuf-io.c|fstat", "label": "sshbuf-io.c|fstat", "name": "sshbuf-io.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sshbuf-io.c", "shape": "dot", "size": 10, "source_code": " 44: \tif (fstat(fd, \u0026st) == -1)", "source_name": "sshbuf_load_fd", "start_code_line": 44, "target_name": "fstat"}, {"color": "#97c2fc", "desc": "\u521b\u5efa\u65b0\u7684sshbuf\u5bf9\u8c61", "end_code_line": 49, "id": "sshbuf-io.c|sshbuf_new", "label": "sshbuf-io.c|sshbuf_new", "name": "sshbuf-io.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sshbuf-io.c", "shape": "dot", "size": 10, "source_code": " 49: \tif ((blob = sshbuf_new()) == NULL)", "source_name": "sshbuf_load_fd", "start_code_line": 49, "target_name": "sshbuf_new"}, {"color": "#97c2fc", "desc": "\u4ece\u6587\u4ef6\u63cf\u8ff0\u7b26\u8bfb\u53d6\u6570\u636e", "end_code_line": 52, "id": "sshbuf-io.c|atomicio", "label": "sshbuf-io.c|atomicio", "name": "sshbuf-io.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sshbuf-io.c", "shape": "dot", "size": 10, "source_code": " 52: \t\tif ((len = atomicio(read, fd, buf, sizeof(buf))) == 0) {", "source_name": "sshbuf_load_fd", "start_code_line": 52, "target_name": "atomicio"}, {"color": "#97c2fc", "desc": "\u5411sshbuf\u6dfb\u52a0\u6570\u636e", "end_code_line": 58, "id": "sshbuf-io.c|sshbuf_put", "label": "sshbuf-io.c|sshbuf_put", "name": "sshbuf-io.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sshbuf-io.c", "shape": "dot", "size": 10, "source_code": " 58: \t\tif ((r = sshbuf_put(blob, buf, len)) != 0)", "source_name": "sshbuf_load_fd", "start_code_line": 58, "target_name": "sshbuf_put"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6sshbuf\u957f\u5ea6", "end_code_line": 60, "id": "sshbuf-io.c|sshbuf_len", "label": "sshbuf-io.c|sshbuf_len", "name": "sshbuf-io.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sshbuf-io.c", "shape": "dot", "size": 10, "source_code": " 60: \t\tif (sshbuf_len(blob) \u003e SSHBUF_SIZE_MAX) {", "source_name": "sshbuf_load_fd", "start_code_line": 60, "target_name": "sshbuf_len"}, {"color": "#97c2fc", "desc": "\u91ca\u653esshbuf\u8d44\u6e90", "end_code_line": 76, "id": "sshbuf-io.c|sshbuf_free", "label": "sshbuf-io.c|sshbuf_free", "name": "sshbuf-io.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sshbuf-io.c", "shape": "dot", "size": 10, "source_code": " 76: \tsshbuf_free(blob);", "source_name": "sshbuf_load_fd", "start_code_line": 76, "target_name": "sshbuf_free"}, {"color": "#97c2fc", "desc": "\u52a0\u8f7d\u6587\u4ef6\u5185\u5bb9\u5230sshbuf", "end_code_line": 88, "id": "sshbuf-io.c|sshbuf_load_file", "label": "sshbuf-io.c|sshbuf_load_file", "name": "sshbuf-io.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sshbuf-io.c", "shape": "dot", "size": 10, "source_code": " 88: \tif ((r = sshbuf_load_fd(fd, bufp)) != 0)", "source_name": "sshbuf_load_file", "start_code_line": 88, "target_name": "sshbuf_load_fd"}, {"color": "#97c2fc", "desc": "\u6253\u5f00\u6587\u4ef6", "end_code_line": 86, "id": "sshbuf-io.c|open", "label": "sshbuf-io.c|open", "name": "sshbuf-io.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sshbuf-io.c", "shape": "dot", "size": 10, "source_code": " 86: \tif ((fd = open(path, O_RDONLY)) == -1)", "source_name": "sshbuf_load_file", "start_code_line": 86, "target_name": "open"}, {"color": "#97c2fc", "desc": "\u5220\u9664\u6587\u4ef6", "end_code_line": 111, "id": "sshbuf-io.c|sshbuf_write_file", "label": "sshbuf-io.c|sshbuf_write_file", "name": "sshbuf-io.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sshbuf-io.c", "shape": "dot", "size": 10, "source_code": "111: \t\tunlink(path);", "source_name": "sshbuf_write_file", "start_code_line": 111, "target_name": "unlink"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u53ef\u53d8\u6307\u9488", "end_code_line": 107, "id": "sshbuf-io.c|sshbuf_mutable_ptr", "label": "sshbuf-io.c|sshbuf_mutable_ptr", "name": "sshbuf-io.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sshbuf-io.c", "shape": "dot", "size": 10, "source_code": "107: \tif (atomicio(vwrite, fd, sshbuf_mutable_ptr(buf),", "source_name": "sshbuf_write_file", "start_code_line": 107, "target_name": "sshbuf_mutable_ptr"}, {"color": "#97c2fc", "desc": "\u5220\u9664\u6587\u4ef6", "end_code_line": 111, "id": "sshbuf-io.c|unlink", "label": "sshbuf-io.c|unlink", "name": "sshbuf-io.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\sshbuf-io.c", "shape": "dot", "size": 10, "source_code": "111: \t\tunlink(path);", "source_name": "sshbuf_write_file", "start_code_line": 111, "target_name": "unlink"}, {"color": "#97c2fc", "desc": "\u5904\u7406\u5185\u5b58\u5206\u914d\u9519\u8bef", "end_code_line": 42, "id": "xmalloc.c|xmalloc", "label": "xmalloc.c|xmalloc", "name": "xmalloc.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmalloc.c", "shape": "dot", "size": 10, "source_code": " 39: \t\tfatal(\"xmalloc: zero size\");\n 40: \tptr = malloc(size);\n 41: \tif (ptr == NULL)\n 42: \t\tfatal(\"xmalloc: out of memory (allocating %zu bytes)\", size);", "source_name": "xmalloc", "start_code_line": 39, "target_name": "fatal"}, {"color": "#97c2fc", "desc": "\u5904\u7406\u5185\u5b58\u5206\u914d\u9519\u8bef", "end_code_line": 42, "id": "xmalloc.c|fatal", "label": "xmalloc.c|fatal", "name": "xmalloc.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmalloc.c", "shape": "dot", "size": 10, "source_code": " 39: \t\tfatal(\"xmalloc: zero size\");\n 40: \tptr = malloc(size);\n 41: \tif (ptr == NULL)\n 42: \t\tfatal(\"xmalloc: out of memory (allocating %zu bytes)\", size);", "source_name": "xmalloc", "start_code_line": 39, "target_name": "fatal"}, {"color": "#97c2fc", "desc": "\u5904\u7406\u5185\u5b58\u5206\u914d\u9519\u8bef", "end_code_line": 58, "id": "xmalloc.c|xcalloc", "label": "xmalloc.c|xcalloc", "name": "xmalloc.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmalloc.c", "shape": "dot", "size": 10, "source_code": " 57: \t\tfatal(\"xcalloc: out of memory (allocating %zu bytes)\",\n 58: \t\t    size * nmemb);", "source_name": "xcalloc", "start_code_line": 57, "target_name": "fatal"}, {"color": "#97c2fc", "desc": "\u5904\u7406\u5185\u5b58\u5206\u914d\u9519\u8bef", "end_code_line": 70, "id": "xmalloc.c|xreallocarray", "label": "xmalloc.c|xreallocarray", "name": "xmalloc.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmalloc.c", "shape": "dot", "size": 10, "source_code": " 69: \t\tfatal(\"xreallocarray: out of memory (%zu elements of %zu bytes)\",\n 70: \t\t    nmemb, size);", "source_name": "xreallocarray", "start_code_line": 69, "target_name": "fatal"}, {"color": "#97c2fc", "desc": "\u5904\u7406\u5185\u5b58\u5206\u914d\u9519\u8bef", "end_code_line": 82, "id": "xmalloc.c|xrecallocarray", "label": "xmalloc.c|xrecallocarray", "name": "xmalloc.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmalloc.c", "shape": "dot", "size": 10, "source_code": " 81: \t\tfatal(\"xrecallocarray: out of memory (%zu elements of %zu bytes)\",\n 82: \t\t    nmemb, size);", "source_name": "xrecallocarray", "start_code_line": 81, "target_name": "fatal"}, {"color": "#97c2fc", "desc": "\u5206\u914d\u5b57\u7b26\u4e32\u5185\u5b58", "end_code_line": 94, "id": "xmalloc.c|xstrdup", "label": "xmalloc.c|xstrdup", "name": "xmalloc.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmalloc.c", "shape": "dot", "size": 10, "source_code": " 93: \tcp = xmalloc(len);\n 94: \treturn memcpy(cp, str, len);", "source_name": "xstrdup", "start_code_line": 93, "target_name": "xmalloc"}, {"color": "#97c2fc", "desc": "\u5904\u7406\u5185\u5b58\u5206\u914d\u9519\u8bef", "end_code_line": 104, "id": "xmalloc.c|xvasprintf", "label": "xmalloc.c|xvasprintf", "name": "xmalloc.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmalloc.c", "shape": "dot", "size": 10, "source_code": "104: \t\tfatal(\"xvasprintf: could not allocate memory\");", "source_name": "xvasprintf", "start_code_line": 104, "target_name": "fatal"}, {"color": "#97c2fc", "desc": "\u683c\u5f0f\u5316\u5e76\u5206\u914d\u5b57\u7b26\u4e32", "end_code_line": 117, "id": "xmalloc.c|xasprintf", "label": "xmalloc.c|xasprintf", "name": "xmalloc.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmalloc.c", "shape": "dot", "size": 10, "source_code": "115: \ti = xvasprintf(ret, fmt, ap);\n116: \tva_end(ap);\n117: \treturn i;", "source_name": "xasprintf", "start_code_line": 115, "target_name": "xvasprintf"}, {"color": "#97c2fc", "desc": "\u5730\u5740\u8f6c\u6362\u4e3a\u5b57\u8282", "end_code_line": 36, "id": "xmss_hash.c|addr_to_byte", "label": "xmss_hash.c|addr_to_byte", "name": "xmss_hash.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmss_hash.c", "shape": "dot", "size": 10, "source_code": " 26: unsigned char* addr_to_byte(unsigned char *bytes, const uint32_t addr[8]){\n 27: #if IS_LITTLE_ENDIAN==1 \n 28:   int i = 0;\n 29:   for(i=0;i\u003c8;i++)\n 30:     to_byte(bytes+i*4, addr[i],4);\n 31:   return bytes;  \n 32: #else\n 33:   memcpy(bytes, addr, 32);\n 34:   return bytes; \n 35: #endif   \n 36: }", "source_name": "addr_to_byte", "start_code_line": 26, "target_name": "to_byte"}, {"color": "#97c2fc", "desc": "\u5730\u5740\u8f6c\u6362\u4e3a\u5b57\u8282", "end_code_line": 36, "id": "xmss_hash.c|to_byte", "label": "xmss_hash.c|to_byte", "name": "xmss_hash.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmss_hash.c", "shape": "dot", "size": 10, "source_code": " 26: unsigned char* addr_to_byte(unsigned char *bytes, const uint32_t addr[8]){\n 27: #if IS_LITTLE_ENDIAN==1 \n 28:   int i = 0;\n 29:   for(i=0;i\u003c8;i++)\n 30:     to_byte(bytes+i*4, addr[i],4);\n 31:   return bytes;  \n 32: #else\n 33:   memcpy(bytes, addr, 32);\n 34:   return bytes; \n 35: #endif   \n 36: }", "source_name": "addr_to_byte", "start_code_line": 26, "target_name": "to_byte"}, {"color": "#97c2fc", "desc": "\u8ba1\u7b97SHA512\u54c8\u5e0c", "end_code_line": 61, "id": "xmss_hash.c|core_hash_SHA2", "label": "xmss_hash.c|core_hash_SHA2", "name": "xmss_hash.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmss_hash.c", "shape": "dot", "size": 10, "source_code": " 61:       SHA512(buf, inlen + keylen + n, out);", "source_name": "core_hash_SHA2", "start_code_line": 61, "target_name": "SHA512"}, {"color": "#97c2fc", "desc": "\u8ba1\u7b97SHA256\u54c8\u5e0c", "end_code_line": 56, "id": "xmss_hash.c|SHA256", "label": "xmss_hash.c|SHA256", "name": "xmss_hash.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmss_hash.c", "shape": "dot", "size": 10, "source_code": " 56:     SHA256(buf, inlen + keylen + n, out);", "source_name": "core_hash_SHA2", "start_code_line": 56, "target_name": "SHA256"}, {"color": "#97c2fc", "desc": "\u8ba1\u7b97SHA512\u54c8\u5e0c", "end_code_line": 61, "id": "xmss_hash.c|SHA512", "label": "xmss_hash.c|SHA512", "name": "xmss_hash.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmss_hash.c", "shape": "dot", "size": 10, "source_code": " 61:       SHA512(buf, inlen + keylen + n, out);", "source_name": "core_hash_SHA2", "start_code_line": 61, "target_name": "SHA512"}, {"color": "#97c2fc", "desc": "\u4f2a\u968f\u673a\u51fd\u6570\u5b9e\u73b0", "end_code_line": 73, "id": "xmss_hash.c|prf", "label": "xmss_hash.c|prf", "name": "xmss_hash.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmss_hash.c", "shape": "dot", "size": 10, "source_code": " 71: int prf(unsigned char *out, const unsigned char *in, const unsigned char *key, unsigned int keylen)\n 72: { \n 73:   return core_hash_SHA2(out, 3, key, keylen, in, 32, keylen);", "source_name": "prf", "start_code_line": 71, "target_name": "core_hash_SHA2"}, {"color": "#97c2fc", "desc": "\u6d88\u606f\u54c8\u5e0c\u5b9e\u73b0", "end_code_line": 85, "id": "xmss_hash.c|h_msg", "label": "xmss_hash.c|h_msg", "name": "xmss_hash.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmss_hash.c", "shape": "dot", "size": 10, "source_code": " 79: int h_msg(unsigned char *out, const unsigned char *in, unsigned long long inlen, const unsigned char *key, const unsigned int keylen, const unsigned int n)\n 80: {\n 81:   if (keylen != 3*n){\n 82:     // H_msg takes 3n-bit keys, but n does not match the keylength of keylen\n 83:     return -1;\n 84:   }  \n 85:   return core_hash_SHA2(out, 2, key, keylen, in, inlen, n);", "source_name": "h_msg", "start_code_line": 79, "target_name": "core_hash_SHA2"}, {"color": "#97c2fc", "desc": "\u8ba1\u7b97\u54c8\u5e0c", "end_code_line": 113, "id": "xmss_hash.c|hash_h", "label": "xmss_hash.c|hash_h", "name": "xmss_hash.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmss_hash.c", "shape": "dot", "size": 10, "source_code": "113:   return core_hash_SHA2(out, 1, key, n, buf, 2*n, n);", "source_name": "hash_h", "start_code_line": 113, "target_name": "core_hash_SHA2"}, {"color": "#97c2fc", "desc": "\u8ba1\u7b97\u54c8\u5e0c", "end_code_line": 135, "id": "xmss_hash.c|hash_f", "label": "xmss_hash.c|hash_f", "name": "xmss_hash.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmss_hash.c", "shape": "dot", "size": 10, "source_code": "135:   return core_hash_SHA2(out, 0, key, n, buf, n, n);", "source_name": "hash_f", "start_code_line": 135, "target_name": "core_hash_SHA2"}, {"color": "#97c2fc", "desc": "\u8ba1\u7b97\u5bf9\u6570\u503c", "end_code_line": 34, "id": "xmss_wots.c|wots_log2", "label": "xmss_wots.c|wots_log2", "name": "xmss_wots.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmss_wots.c", "shape": "dot", "size": 10, "source_code": " 24: static inline int\n 25: wots_log2(uint32_t v)\n 26: {\n 27:   int      b;\n 28: \n 29:   for (b = sizeof (v) * CHAR_BIT - 1; b \u003e= 0; b--) {\n 30:     if ((1U \u003c\u003c b) \u0026 v) {\n 31:       return b;\n 32:     }\n 33:   }\n 34:   return 0;", "source_name": "wots_log2", "start_code_line": 24, "target_name": "\u8fd4\u56de\u8c03\u7528\u65b9\u5355\u5143\u540d\u79f0"}, {"color": "#97c2fc", "desc": "\u8ba1\u7b97\u5bf9\u6570\u503c", "end_code_line": 34, "id": "xmss_wots.c|\u8fd4\u56de\u8c03\u7528\u65b9\u5355\u5143\u540d\u79f0", "label": "xmss_wots.c|\u8fd4\u56de\u8c03\u7528\u65b9\u5355\u5143\u540d\u79f0", "name": "xmss_wots.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmss_wots.c", "shape": "dot", "size": 10, "source_code": " 24: static inline int\n 25: wots_log2(uint32_t v)\n 26: {\n 27:   int      b;\n 28: \n 29:   for (b = sizeof (v) * CHAR_BIT - 1; b \u003e= 0; b--) {\n 30:     if ((1U \u003c\u003c b) \u0026 v) {\n 31:       return b;\n 32:     }\n 33:   }\n 34:   return 0;", "source_name": "wots_log2", "start_code_line": 24, "target_name": "\u8fd4\u56de\u8c03\u7528\u65b9\u5355\u5143\u540d\u79f0"}, {"color": "#97c2fc", "desc": "\u8bbe\u7f6eWOTS\u53c2\u6570", "end_code_line": 45, "id": "xmss_wots.c|wots_set_params", "label": "xmss_wots.c|wots_set_params", "name": "xmss_wots.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmss_wots.c", "shape": "dot", "size": 10, "source_code": " 38: wots_set_params(wots_params *params, int n, int w)\n 39: {\n 40:   params-\u003en = n;\n 41:   params-\u003ew = w;\n 42:   params-\u003elog_w = wots_log2(params-\u003ew);\n 43:   params-\u003elen_1 = (CHAR_BIT * n) / params-\u003elog_w;\n 44:   params-\u003elen_2 = (wots_log2(params-\u003elen_1 * (w - 1)) / params-\u003elog_w) + 1;\n 45:   params-\u003elen = params-\u003elen_1 + params-\u003elen_2;", "source_name": "wots_set_params", "start_code_line": 38, "target_name": "wots_log2"}, {"color": "#97c2fc", "desc": "\u4f2a\u968f\u673a\u51fd\u6570\u8c03\u7528", "end_code_line": 60, "id": "xmss_wots.c|expand_seed", "label": "xmss_wots.c|expand_seed", "name": "xmss_wots.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmss_wots.c", "shape": "dot", "size": 10, "source_code": " 60:     prf((outseeds + (i*params-\u003en)), ctr, inseed, params-\u003en);", "source_name": "expand_seed", "start_code_line": 60, "target_name": "prf"}, {"color": "#97c2fc", "desc": "\u5c06\u6574\u6570\u8f6c\u4e3a\u5b57\u8282", "end_code_line": 59, "id": "xmss_wots.c|to_byte", "label": "xmss_wots.c|to_byte", "name": "xmss_wots.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmss_wots.c", "shape": "dot", "size": 10, "source_code": " 54: static void expand_seed(unsigned char *outseeds, const unsigned char *inseed, const wots_params *params)\n 55: {\n 56:   uint32_t i = 0;\n 57:   unsigned char ctr[32];\n 58:   for(i = 0; i \u003c params-\u003elen; i++){\n 59:     to_byte(ctr, i, 32);", "source_name": "expand_seed", "start_code_line": 54, "target_name": "to_byte"}, {"color": "#97c2fc", "desc": "\u4f2a\u968f\u673a\u51fd\u6570\u8c03\u7528", "end_code_line": 60, "id": "xmss_wots.c|prf", "label": "xmss_wots.c|prf", "name": "xmss_wots.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmss_wots.c", "shape": "dot", "size": 10, "source_code": " 60:     prf((outseeds + (i*params-\u003en)), ctr, inseed, params-\u003en);", "source_name": "expand_seed", "start_code_line": 60, "target_name": "prf"}, {"color": "#97c2fc", "desc": "\u54c8\u5e0c\u51fd\u6570\u8c03\u7528", "end_code_line": 79, "id": "xmss_wots.c|gen_chain", "label": "xmss_wots.c|gen_chain", "name": "xmss_wots.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmss_wots.c", "shape": "dot", "size": 10, "source_code": " 79:     hash_f(out, out, pub_seed, addr, params-\u003en);", "source_name": "gen_chain", "start_code_line": 79, "target_name": "hash_f"}, {"color": "#97c2fc", "desc": "\u8bbe\u7f6e\u54c8\u5e0c\u5730\u5740", "end_code_line": 78, "id": "xmss_wots.c|setHashADRS", "label": "xmss_wots.c|setHashADRS", "name": "xmss_wots.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmss_wots.c", "shape": "dot", "size": 10, "source_code": " 71: static void gen_chain(unsigned char *out, const unsigned char *in, unsigned int start, unsigned int steps, const wots_params *params, const unsigned char *pub_seed, uint32_t addr[8])\n 72: {\n 73:   uint32_t i, j;\n 74:   for (j = 0; j \u003c params-\u003en; j++)\n 75:     out[j] = in[j];\n 76: \n 77:   for (i = start; i \u003c (start+steps) \u0026\u0026 i \u003c params-\u003ew; i++) {\n 78:     setHashADRS(addr, i);", "source_name": "gen_chain", "start_code_line": 71, "target_name": "setHashADRS"}, {"color": "#97c2fc", "desc": "\u54c8\u5e0c\u51fd\u6570\u8c03\u7528", "end_code_line": 79, "id": "xmss_wots.c|hash_f", "label": "xmss_wots.c|hash_f", "name": "xmss_wots.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmss_wots.c", "shape": "dot", "size": 10, "source_code": " 79:     hash_f(out, out, pub_seed, addr, params-\u003en);", "source_name": "gen_chain", "start_code_line": 79, "target_name": "hash_f"}, {"color": "#97c2fc", "desc": "\u57fa\u4e8ew\u7684\u7b97\u6cd5", "end_code_line": 106, "id": "xmss_wots.c|base_w", "label": "xmss_wots.c|base_w", "name": "xmss_wots.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmss_wots.c", "shape": "dot", "size": 10, "source_code": " 88: static void base_w(int *output, const int out_len, const unsigned char *input, const wots_params *params)\n 89: {\n 90:   int in = 0;\n 91:   int out = 0;\n 92:   uint32_t total = 0;\n 93:   int bits = 0;\n 94:   int consumed = 0;\n 95: \n 96:   for (consumed = 0; consumed \u003c out_len; consumed++) {\n 97:     if (bits == 0) {\n 98:       total = input[in];\n 99:       in++;\n100:       bits += 8;\n101:     }\n102:     bits -= params-\u003elog_w;\n103:     output[out] = (total \u003e\u003e bits) \u0026 (params-\u003ew - 1);\n104:     out++;\n105:   }\n106: }", "source_name": "base_w", "start_code_line": 88, "target_name": "\u8fd4\u56de\u8c03\u7528\u65b9\u5355\u5143\u540d\u79f0"}, {"color": "#97c2fc", "desc": "\u751f\u6210\u94fe", "end_code_line": 114, "id": "xmss_wots.c|wots_pkgen", "label": "xmss_wots.c|wots_pkgen", "name": "xmss_wots.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmss_wots.c", "shape": "dot", "size": 10, "source_code": "114:     gen_chain(pk+i*params-\u003en, pk+i*params-\u003en, 0, params-\u003ew-1, params, pub_seed, addr);", "source_name": "wots_pkgen", "start_code_line": 114, "target_name": "gen_chain"}, {"color": "#97c2fc", "desc": "\u8bbe\u7f6e\u94fe\u5730\u5740", "end_code_line": 113, "id": "xmss_wots.c|setChainADRS", "label": "xmss_wots.c|setChainADRS", "name": "xmss_wots.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmss_wots.c", "shape": "dot", "size": 10, "source_code": "113:     setChainADRS(addr, i);", "source_name": "wots_pkgen", "start_code_line": 113, "target_name": "setChainADRS"}, {"color": "#97c2fc", "desc": "\u751f\u6210\u7b7e\u540d\u94fe", "end_code_line": 152, "id": "xmss_wots.c|wots_sign", "label": "xmss_wots.c|wots_sign", "name": "xmss_wots.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmss_wots.c", "shape": "dot", "size": 10, "source_code": "152:     gen_chain(sig+i*params-\u003en, sig+i*params-\u003en, 0, basew[i], params, pub_seed, addr);", "source_name": "wots_sign", "start_code_line": 152, "target_name": "gen_chain"}, {"color": "#97c2fc", "desc": "\u5206\u914d\u5185\u5b58", "end_code_line": 124, "id": "xmss_wots.c|calloc", "label": "xmss_wots.c|calloc", "name": "xmss_wots.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmss_wots.c", "shape": "dot", "size": 10, "source_code": "124:   int *basew = calloc(params-\u003elen, sizeof(int));", "source_name": "wots_sign", "start_code_line": 124, "target_name": "calloc"}, {"color": "#97c2fc", "desc": "\u751f\u6210\u9a8c\u8bc1\u94fe", "end_code_line": 187, "id": "xmss_wots.c|wots_pkFromSig", "label": "xmss_wots.c|wots_pkFromSig", "name": "xmss_wots.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\xmss_wots.c", "shape": "dot", "size": 10, "source_code": "187:     gen_chain(pk+i*params-\u003en, sig+i*params-\u003en, basew[i], params-\u003ew-1-basew[i], params, pub_seed, addr);", "source_name": "wots_pkFromSig", "start_code_line": 187, "target_name": "gen_chain"}, {"color": "#97c2fc", "desc": "\u8bbe\u7f6e\u5bf9\u8bdd\u6846\u7c7b\u578b", "end_code_line": 62, "id": "gnome-ssh-askpass1.c|report_failed_grab", "label": "gnome-ssh-askpass1.c|report_failed_grab", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": " 62: \tgtk_object_set(GTK_OBJECT(err), \"type\", GTK_WINDOW_POPUP, NULL);", "source_name": "report_failed_grab", "start_code_line": 62, "target_name": "gtk_object_set"}, {"color": "#97c2fc", "desc": "\u521b\u5efa\u9519\u8bef\u4fe1\u606f\u6846", "end_code_line": 65, "id": "gnome-ssh-askpass1.c|gnome_message_box_new", "label": "gnome-ssh-askpass1.c|gnome_message_box_new", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": " 54: report_failed_grab (void)\n 55: {\n 56: \tGtkWidget *err;\n 57: \n 58: \terr = gnome_message_box_new(\"Could not grab keyboard or mouse.\\n\"\n 59: \t\t\"A malicious client may be eavesdropping on your session.\",\n 60: \t\t\t\t    GNOME_MESSAGE_BOX_ERROR, \"EXIT\", NULL);\n 61: \tgtk_window_set_position(GTK_WINDOW(err), GTK_WIN_POS_CENTER);\n 62: \tgtk_object_set(GTK_OBJECT(err), \"type\", GTK_WINDOW_POPUP, NULL);\n 63: \n 64: \tgnome_dialog_run_and_close(GNOME_DIALOG(err));\n 65: }", "source_name": "report_failed_grab", "start_code_line": 54, "target_name": "gnome_message_box_new"}, {"color": "#97c2fc", "desc": "\u8bbe\u7f6e\u7a97\u53e3\u4f4d\u7f6e", "end_code_line": 61, "id": "gnome-ssh-askpass1.c|gtk_window_set_position", "label": "gnome-ssh-askpass1.c|gtk_window_set_position", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": " 61: \tgtk_window_set_position(GTK_WINDOW(err), GTK_WIN_POS_CENTER);", "source_name": "report_failed_grab", "start_code_line": 61, "target_name": "gtk_window_set_position"}, {"color": "#97c2fc", "desc": "\u8bbe\u7f6e\u5bf9\u8bdd\u6846\u7c7b\u578b", "end_code_line": 62, "id": "gnome-ssh-askpass1.c|gtk_object_set", "label": "gnome-ssh-askpass1.c|gtk_object_set", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": " 62: \tgtk_object_set(GTK_OBJECT(err), \"type\", GTK_WINDOW_POPUP, NULL);", "source_name": "report_failed_grab", "start_code_line": 62, "target_name": "gtk_object_set"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u8f93\u5165\u6846\u6587\u672c", "end_code_line": 129, "id": "gnome-ssh-askpass1.c|passphrase_dialog", "label": "gnome-ssh-askpass1.c|passphrase_dialog", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": "129: \tpassphrase = gtk_entry_get_text(GTK_ENTRY(entry));", "source_name": "passphrase_dialog", "start_code_line": 129, "target_name": "gtk_entry_get_text"}, {"color": "#97c2fc", "desc": "\u521b\u5efa\u5bf9\u8bdd\u6846", "end_code_line": 78, "id": "gnome-ssh-askpass1.c|gnome_dialog_new", "label": "gnome-ssh-askpass1.c|gnome_dialog_new", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": " 78: \tdialog = gnome_dialog_new(\"OpenSSH\", GNOME_STOCK_BUTTON_OK,", "source_name": "passphrase_dialog", "start_code_line": 78, "target_name": "gnome_dialog_new"}, {"color": "#97c2fc", "desc": "\u5206\u5272\u5b57\u7b26\u4e32\u6d88\u606f", "end_code_line": 81, "id": "gnome-ssh-askpass1.c|g_strsplit", "label": "gnome-ssh-askpass1.c|g_strsplit", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": " 81: \tmessages = g_strsplit(message, \"\\\\n\", 0);", "source_name": "passphrase_dialog", "start_code_line": 81, "target_name": "g_strsplit"}, {"color": "#97c2fc", "desc": "\u521b\u5efa\u6807\u7b7e", "end_code_line": 84, "id": "gnome-ssh-askpass1.c|gtk_label_new", "label": "gnome-ssh-askpass1.c|gtk_label_new", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": " 84: \t\t\tlabel = gtk_label_new(messages[i]);", "source_name": "passphrase_dialog", "start_code_line": 84, "target_name": "gtk_label_new"}, {"color": "#97c2fc", "desc": "\u6dfb\u52a0\u6807\u7b7e\u5230\u5bf9\u8bdd\u6846", "end_code_line": 86, "id": "gnome-ssh-askpass1.c|gtk_box_pack_start", "label": "gnome-ssh-askpass1.c|gtk_box_pack_start", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": " 86: \t\t\t    label, FALSE, FALSE, 0);", "source_name": "passphrase_dialog", "start_code_line": 86, "target_name": "gtk_box_pack_start"}, {"color": "#97c2fc", "desc": "\u521b\u5efa\u8f93\u5165\u6846", "end_code_line": 89, "id": "gnome-ssh-askpass1.c|gtk_entry_new", "label": "gnome-ssh-askpass1.c|gtk_entry_new", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": " 89: \tentry = gtk_entry_new();", "source_name": "passphrase_dialog", "start_code_line": 89, "target_name": "gtk_entry_new"}, {"color": "#97c2fc", "desc": "\u8bbe\u7f6e\u8f93\u5165\u6846\u53ef\u89c1\u6027", "end_code_line": 92, "id": "gnome-ssh-askpass1.c|gtk_entry_set_visibility", "label": "gnome-ssh-askpass1.c|gtk_entry_set_visibility", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": " 92: \tgtk_entry_set_visibility(GTK_ENTRY(entry), FALSE);", "source_name": "passphrase_dialog", "start_code_line": 92, "target_name": "gtk_entry_set_visibility"}, {"color": "#97c2fc", "desc": "\u805a\u7126\u8f93\u5165\u6846", "end_code_line": 93, "id": "gnome-ssh-askpass1.c|gtk_widget_grab_focus", "label": "gnome-ssh-askpass1.c|gtk_widget_grab_focus", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": " 93: \tgtk_widget_grab_focus(entry);", "source_name": "passphrase_dialog", "start_code_line": 93, "target_name": "gtk_widget_grab_focus"}, {"color": "#97c2fc", "desc": "\u8bbe\u7f6e\u5bf9\u8bdd\u6846\u9ed8\u8ba4\u6309\u94ae", "end_code_line": 97, "id": "gnome-ssh-askpass1.c|gnome_dialog_set_default", "label": "gnome-ssh-askpass1.c|gnome_dialog_set_default", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": " 97: \tgnome_dialog_set_default(GNOME_DIALOG(dialog), 0);", "source_name": "passphrase_dialog", "start_code_line": 97, "target_name": "gnome_dialog_set_default"}, {"color": "#97c2fc", "desc": "\u8bbe\u7f6e\u7a97\u53e3\u7b56\u7565", "end_code_line": 99, "id": "gnome-ssh-askpass1.c|gtk_window_set_policy", "label": "gnome-ssh-askpass1.c|gtk_window_set_policy", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": " 99: \tgtk_window_set_policy(GTK_WINDOW(dialog), FALSE, FALSE, TRUE);", "source_name": "passphrase_dialog", "start_code_line": 99, "target_name": "gtk_window_set_policy"}, {"color": "#97c2fc", "desc": "\u8bbe\u7f6e\u8fb9\u6846\u5bbd\u5ea6", "end_code_line": 101, "id": "gnome-ssh-askpass1.c|gtk_container_set_border_width", "label": "gnome-ssh-askpass1.c|gtk_container_set_border_width", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": "101: \tgtk_container_set_border_width(GTK_CONTAINER(GNOME_DIALOG(dialog)-\u003evbox),", "source_name": "passphrase_dialog", "start_code_line": 101, "target_name": "gtk_container_set_border_width"}, {"color": "#97c2fc", "desc": "\u663e\u793a\u5bf9\u8bdd\u6846", "end_code_line": 103, "id": "gnome-ssh-askpass1.c|gtk_widget_show_all", "label": "gnome-ssh-askpass1.c|gtk_widget_show_all", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": "103: \tgtk_widget_show_all(dialog);", "source_name": "passphrase_dialog", "start_code_line": 103, "target_name": "gtk_widget_show_all"}, {"color": "#97c2fc", "desc": "\u6293\u53d6X\u670d\u52a1\u5668", "end_code_line": 107, "id": "gnome-ssh-askpass1.c|XGrabServer", "label": "gnome-ssh-askpass1.c|XGrabServer", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": "107: \t\tXGrabServer(GDK_DISPLAY());", "source_name": "passphrase_dialog", "start_code_line": 107, "target_name": "XGrabServer"}, {"color": "#97c2fc", "desc": "\u6307\u9488\u6293\u53d6", "end_code_line": 108, "id": "gnome-ssh-askpass1.c|gdk_pointer_grab", "label": "gnome-ssh-askpass1.c|gdk_pointer_grab", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": "108: \tif (grab_pointer \u0026\u0026 gdk_pointer_grab(dialog-\u003ewindow, TRUE, 0,", "source_name": "passphrase_dialog", "start_code_line": 108, "target_name": "gdk_pointer_grab"}, {"color": "#97c2fc", "desc": "\u952e\u76d8\u6293\u53d6", "end_code_line": 111, "id": "gnome-ssh-askpass1.c|gdk_keyboard_grab", "label": "gnome-ssh-askpass1.c|gdk_keyboard_grab", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": "111: \tif (gdk_keyboard_grab(dialog-\u003ewindow, FALSE, GDK_CURRENT_TIME))", "source_name": "passphrase_dialog", "start_code_line": 111, "target_name": "gdk_keyboard_grab"}, {"color": "#97c2fc", "desc": "\u54cd\u5e94\u56de\u8f66\u952e", "end_code_line": 115, "id": "gnome-ssh-askpass1.c|gnome_dialog_editable_enters", "label": "gnome-ssh-askpass1.c|gnome_dialog_editable_enters", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": "115: \tgnome_dialog_editable_enters(GNOME_DIALOG(dialog), GTK_EDITABLE(entry));", "source_name": "passphrase_dialog", "start_code_line": 115, "target_name": "gnome_dialog_editable_enters"}, {"color": "#97c2fc", "desc": "\u8fd0\u884c\u5bf9\u8bdd\u6846", "end_code_line": 118, "id": "gnome-ssh-askpass1.c|gnome_dialog_run", "label": "gnome-ssh-askpass1.c|gnome_dialog_run", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": "118: \tresult = gnome_dialog_run(GNOME_DIALOG(dialog));", "source_name": "passphrase_dialog", "start_code_line": 118, "target_name": "gnome_dialog_run"}, {"color": "#97c2fc", "desc": "\u91ca\u653eX\u670d\u52a1\u5668\u6293\u53d6", "end_code_line": 122, "id": "gnome-ssh-askpass1.c|XUngrabServer", "label": "gnome-ssh-askpass1.c|XUngrabServer", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": "122: \t\tXUngrabServer(GDK_DISPLAY());", "source_name": "passphrase_dialog", "start_code_line": 122, "target_name": "XUngrabServer"}, {"color": "#97c2fc", "desc": "\u91ca\u653e\u6307\u9488\u6293\u53d6", "end_code_line": 124, "id": "gnome-ssh-askpass1.c|gdk_pointer_ungrab", "label": "gnome-ssh-askpass1.c|gdk_pointer_ungrab", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": "124: \t\tgdk_pointer_ungrab(GDK_CURRENT_TIME);", "source_name": "passphrase_dialog", "start_code_line": 124, "target_name": "gdk_pointer_ungrab"}, {"color": "#97c2fc", "desc": "\u91ca\u653e\u952e\u76d8\u6293\u53d6", "end_code_line": 125, "id": "gnome-ssh-askpass1.c|gdk_keyboard_ungrab", "label": "gnome-ssh-askpass1.c|gdk_keyboard_ungrab", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": "125: \tgdk_keyboard_ungrab(GDK_CURRENT_TIME);", "source_name": "passphrase_dialog", "start_code_line": 125, "target_name": "gdk_keyboard_ungrab"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u8f93\u5165\u6846\u6587\u672c", "end_code_line": 129, "id": "gnome-ssh-askpass1.c|gtk_entry_get_text", "label": "gnome-ssh-askpass1.c|gtk_entry_get_text", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": "129: \tpassphrase = gtk_entry_get_text(GTK_ENTRY(entry));", "source_name": "passphrase_dialog", "start_code_line": 129, "target_name": "gtk_entry_get_text"}, {"color": "#97c2fc", "desc": "\u8c03\u7528\u5bc6\u7801\u5bf9\u8bdd\u6846", "end_code_line": 169, "id": "gnome-ssh-askpass1.c|main", "label": "gnome-ssh-askpass1.c|main", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": "169: \tresult = passphrase_dialog(message);", "source_name": "main", "start_code_line": 169, "target_name": "passphrase_dialog"}, {"color": "#97c2fc", "desc": "\u521d\u59cb\u5316GNOME\u73af\u5883", "end_code_line": 161, "id": "gnome-ssh-askpass1.c|gnome_init", "label": "gnome-ssh-askpass1.c|gnome_init", "name": "gnome-ssh-askpass1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass1.c", "shape": "dot", "size": 10, "source_code": "161: \tgnome_init(\"GNOME ssh-askpass\", \"0.1\", argc, argv);", "source_name": "main", "start_code_line": 161, "target_name": "gnome_init"}, {"color": "#97c2fc", "desc": "\u8fd0\u884c\u5bf9\u8bdd\u6846\u5e76\u7b49\u5f85\u7528\u6237\u54cd\u5e94", "end_code_line": 78, "id": "gnome-ssh-askpass2.c|report_failed_grab", "label": "gnome-ssh-askpass2.c|report_failed_grab", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": " 76: \tgtk_dialog_run(GTK_DIALOG(err));\n 77: \n 78: \tgtk_widget_destroy(err);", "source_name": "report_failed_grab", "start_code_line": 76, "target_name": "gtk_dialog_run"}, {"color": "#97c2fc", "desc": "\u521b\u5efa\u9519\u8bef\u4fe1\u606f\u5bf9\u8bdd\u6846", "end_code_line": 78, "id": "gnome-ssh-askpass2.c|gtk_message_dialog_new", "label": "gnome-ssh-askpass2.c|gtk_message_dialog_new", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": " 66: report_failed_grab (GtkWidget *parent_window, const char *what)\n 67: {\n 68: \tGtkWidget *err;\n 69: \n 70: \terr = gtk_message_dialog_new(GTK_WINDOW(parent_window), 0,\n 71: \t    GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,\n 72: \t    \"Could not grab %s. A malicious client may be eavesdropping \"\n 73: \t    \"on your session.\", what);\n 74: \tgtk_window_set_position(GTK_WINDOW(err), GTK_WIN_POS_CENTER);\n 75: \n 76: \tgtk_dialog_run(GTK_DIALOG(err));\n 77: \n 78: \tgtk_widget_destroy(err);", "source_name": "report_failed_grab", "start_code_line": 66, "target_name": "gtk_message_dialog_new"}, {"color": "#97c2fc", "desc": "\u8fd0\u884c\u5bf9\u8bdd\u6846\u5e76\u7b49\u5f85\u7528\u6237\u54cd\u5e94", "end_code_line": 78, "id": "gnome-ssh-askpass2.c|gtk_dialog_run", "label": "gnome-ssh-askpass2.c|gtk_dialog_run", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": " 76: \tgtk_dialog_run(GTK_DIALOG(err));\n 77: \n 78: \tgtk_widget_destroy(err);", "source_name": "report_failed_grab", "start_code_line": 76, "target_name": "gtk_dialog_run"}, {"color": "#97c2fc", "desc": "\u8bbe\u7f6e\u5bf9\u8bdd\u6846\u54cd\u5e94\u4e3aOK", "end_code_line": 86, "id": "gnome-ssh-askpass2.c|ok_dialog", "label": "gnome-ssh-askpass2.c|ok_dialog", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": " 82: ok_dialog(GtkWidget *entry, gpointer dialog)\n 83: {\n 84: \tg_return_if_fail(GTK_IS_DIALOG(dialog));\n 85: \tgtk_dialog_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK);\n 86: }", "source_name": "ok_dialog", "start_code_line": 82, "target_name": "gtk_dialog_response"}, {"color": "#97c2fc", "desc": "\u8bbe\u7f6e\u5bf9\u8bdd\u6846\u54cd\u5e94\u4e3aOK", "end_code_line": 86, "id": "gnome-ssh-askpass2.c|gtk_dialog_response", "label": "gnome-ssh-askpass2.c|gtk_dialog_response", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": " 82: ok_dialog(GtkWidget *entry, gpointer dialog)\n 83: {\n 84: \tg_return_if_fail(GTK_IS_DIALOG(dialog));\n 85: \tgtk_dialog_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK);\n 86: }", "source_name": "ok_dialog", "start_code_line": 82, "target_name": "gtk_dialog_response"}, {"color": "#97c2fc", "desc": "\u805a\u7126\u5230\u5173\u95ed\u6309\u94ae", "end_code_line": 100, "id": "gnome-ssh-askpass2.c|check_none", "label": "gnome-ssh-askpass2.c|check_none", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": " 98: \t\tgtk_widget_grab_focus(gtk_dialog_get_widget_for_response(\n 99: \t\t    dialog, GTK_RESPONSE_CLOSE));\n100: \t\treturn TRUE;", "source_name": "check_none", "start_code_line": 98, "target_name": "gtk_widget_grab_focus"}, {"color": "#97c2fc", "desc": "\u805a\u7126\u5230\u5173\u95ed\u6309\u94ae", "end_code_line": 100, "id": "gnome-ssh-askpass2.c|gtk_widget_grab_focus", "label": "gnome-ssh-askpass2.c|gtk_widget_grab_focus", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": " 98: \t\tgtk_widget_grab_focus(gtk_dialog_get_widget_for_response(\n 99: \t\t    dialog, GTK_RESPONSE_CLOSE));\n100: \t\treturn TRUE;", "source_name": "check_none", "start_code_line": 98, "target_name": "gtk_widget_grab_focus"}, {"color": "#97c2fc", "desc": "\u5b57\u7b26\u4e32\u8f6c\u4e3a\u65e0\u7b26\u53f7\u957f\u6574\u578b", "end_code_line": 128, "id": "gnome-ssh-askpass2.c|parse_env_hex_color", "label": "gnome-ssh-askpass2.c|parse_env_hex_color", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": "128: \tul = strtoul(s, \u0026ep, 16);", "source_name": "parse_env_hex_color", "start_code_line": 128, "target_name": "strtoul"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u73af\u5883\u53d8\u91cf", "end_code_line": 115, "id": "gnome-ssh-askpass2.c|getenv", "label": "gnome-ssh-askpass2.c|getenv", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": "115: \tif ((s = getenv(env)) == NULL)", "source_name": "parse_env_hex_color", "start_code_line": 115, "target_name": "getenv"}, {"color": "#97c2fc", "desc": "\u5b57\u7b26\u4e32\u8f6c\u4e3a\u65e0\u7b26\u53f7\u957f\u6574\u578b", "end_code_line": 128, "id": "gnome-ssh-askpass2.c|strtoul", "label": "gnome-ssh-askpass2.c|strtoul", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": "128: \tul = strtoul(s, \u0026ep, 16);", "source_name": "parse_env_hex_color", "start_code_line": 128, "target_name": "strtoul"}, {"color": "#97c2fc", "desc": "\u9500\u6bc1\u5bf9\u8bdd\u6846", "end_code_line": 293, "id": "gnome-ssh-askpass2.c|passphrase_dialog", "label": "gnome-ssh-askpass2.c|passphrase_dialog", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": "293: \tgtk_widget_destroy(dialog);", "source_name": "passphrase_dialog", "start_code_line": 293, "target_name": "gtk_widget_destroy"}, {"color": "#97c2fc", "desc": "\u521b\u5efa\u7236\u7a97\u53e3", "end_code_line": 170, "id": "gnome-ssh-askpass2.c|gtk_window_new", "label": "gnome-ssh-askpass2.c|gtk_window_new", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": "170: \tparent_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);", "source_name": "passphrase_dialog", "start_code_line": 170, "target_name": "gtk_window_new"}, {"color": "#97c2fc", "desc": "\u4fee\u6539\u5bf9\u8bdd\u6846\u524d\u666f\u8272", "end_code_line": 197, "id": "gnome-ssh-askpass2.c|gtk_widget_modify_fg", "label": "gnome-ssh-askpass2.c|gtk_widget_modify_fg", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": "197: \t\tgtk_widget_modify_fg(dialog, GTK_STATE_NORMAL, \u0026fg);", "source_name": "passphrase_dialog", "start_code_line": 197, "target_name": "gtk_widget_modify_fg"}, {"color": "#97c2fc", "desc": "\u4fee\u6539\u5bf9\u8bdd\u6846\u80cc\u666f\u8272", "end_code_line": 199, "id": "gnome-ssh-askpass2.c|gtk_widget_modify_bg", "label": "gnome-ssh-askpass2.c|gtk_widget_modify_bg", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": "199: \t\tgtk_widget_modify_bg(dialog, GTK_STATE_NORMAL, \u0026bg);", "source_name": "passphrase_dialog", "start_code_line": 199, "target_name": "gtk_widget_modify_bg"}, {"color": "#97c2fc", "desc": "\u521b\u5efa\u8f93\u5165\u6846", "end_code_line": 202, "id": "gnome-ssh-askpass2.c|gtk_entry_new", "label": "gnome-ssh-askpass2.c|gtk_entry_new", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": "202: \t\tentry = gtk_entry_new();", "source_name": "passphrase_dialog", "start_code_line": 202, "target_name": "gtk_entry_new"}, {"color": "#97c2fc", "desc": "\u8fde\u63a5\u4fe1\u53f7\u5904\u7406\u51fd\u6570", "end_code_line": 216, "id": "gnome-ssh-askpass2.c|g_signal_connect", "label": "gnome-ssh-askpass2.c|g_signal_connect", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": "215: \t\t\tg_signal_connect(G_OBJECT(entry), \"activate\",\n216: \t\t\t\t\t G_CALLBACK(ok_dialog), dialog);", "source_name": "passphrase_dialog", "start_code_line": 215, "target_name": "g_signal_connect"}, {"color": "#97c2fc", "desc": "\u6293\u53d6\u6307\u9488", "end_code_line": 236, "id": "gnome-ssh-askpass2.c|gdk_pointer_grab", "label": "gnome-ssh-askpass2.c|gdk_pointer_grab", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": "234: \t\t\tstatus = gdk_pointer_grab(\n235: \t\t\t    (gtk_widget_get_window(GTK_WIDGET(dialog))), TRUE,\n236: \t\t\t    0, NULL, NULL, GDK_CURRENT_TIME);", "source_name": "passphrase_dialog", "start_code_line": 234, "target_name": "gdk_pointer_grab"}, {"color": "#97c2fc", "desc": "\u6293\u53d6\u952e\u76d8", "end_code_line": 249, "id": "gnome-ssh-askpass2.c|gdk_keyboard_grab", "label": "gnome-ssh-askpass2.c|gdk_keyboard_grab", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": "247: \t\tstatus = gdk_keyboard_grab(\n248: \t\t    gtk_widget_get_window(GTK_WIDGET(dialog)), FALSE,\n249: \t\t    GDK_CURRENT_TIME);", "source_name": "passphrase_dialog", "start_code_line": 247, "target_name": "gdk_keyboard_grab"}, {"color": "#97c2fc", "desc": "\u590d\u5236\u5b57\u7b26\u4e32", "end_code_line": 274, "id": "gnome-ssh-askpass2.c|g_strdup", "label": "gnome-ssh-askpass2.c|g_strdup", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": "274: \t\tpassphrase = g_strdup(gtk_entry_get_text(GTK_ENTRY(entry)));", "source_name": "passphrase_dialog", "start_code_line": 274, "target_name": "g_strdup"}, {"color": "#97c2fc", "desc": "\u4eceUTF-8\u8f6c\u6362\u4e3a\u672c\u5730\u5b57\u7b26\u4e32", "end_code_line": 277, "id": "gnome-ssh-askpass2.c|g_locale_from_utf8", "label": "gnome-ssh-askpass2.c|g_locale_from_utf8", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": "277: \t\t\t    strlen(passphrase), NULL, NULL, NULL);", "source_name": "passphrase_dialog", "start_code_line": 277, "target_name": "g_locale_from_utf8"}, {"color": "#97c2fc", "desc": "\u91ca\u653e\u5185\u5b58", "end_code_line": 281, "id": "gnome-ssh-askpass2.c|g_free", "label": "gnome-ssh-askpass2.c|g_free", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": "281: \t\t\t\tg_free(local);", "source_name": "passphrase_dialog", "start_code_line": 281, "target_name": "g_free"}, {"color": "#97c2fc", "desc": "\u9500\u6bc1\u5bf9\u8bdd\u6846", "end_code_line": 293, "id": "gnome-ssh-askpass2.c|gtk_widget_destroy", "label": "gnome-ssh-askpass2.c|gtk_widget_destroy", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": "293: \tgtk_widget_destroy(dialog);", "source_name": "passphrase_dialog", "start_code_line": 293, "target_name": "gtk_widget_destroy"}, {"color": "#97c2fc", "desc": "\u5904\u7406\u5bc6\u7801\u8f93\u5165\u5bf9\u8bdd\u6846", "end_code_line": 337, "id": "gnome-ssh-askpass2.c|main", "label": "gnome-ssh-askpass2.c|main", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": "337: \tresult = passphrase_dialog(message, prompt_type);", "source_name": "main", "start_code_line": 337, "target_name": "passphrase_dialog"}, {"color": "#97c2fc", "desc": "\u521d\u59cb\u5316GTK\u5e93", "end_code_line": 321, "id": "gnome-ssh-askpass2.c|gtk_init", "label": "gnome-ssh-askpass2.c|gtk_init", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": "321: \tgtk_init(\u0026argc, \u0026argv);", "source_name": "main", "start_code_line": 321, "target_name": "gtk_init"}, {"color": "#97c2fc", "desc": "\u7ec4\u5408\u53c2\u6570\u4e3a\u6d88\u606f", "end_code_line": 324, "id": "gnome-ssh-askpass2.c|g_strjoinv", "label": "gnome-ssh-askpass2.c|g_strjoinv", "name": "gnome-ssh-askpass2.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\contrib\\gnome-ssh-askpass2.c", "shape": "dot", "size": 10, "source_code": "324: \t\tmessage = g_strjoinv(\" \", argv + 1);", "source_name": "main", "start_code_line": 324, "target_name": "g_strjoinv"}, {"color": "#97c2fc", "desc": "\u91cd\u65b0\u683c\u5f0f\u5316\u5b57\u7b26\u4e32", "end_code_line": 66, "id": "bsd-asprintf.c|vasprintf", "label": "bsd-asprintf.c|vasprintf", "name": "bsd-asprintf.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\openbsd-compat\\bsd-asprintf.c", "shape": "dot", "size": 10, "source_code": "66: \t\t\tret = vsnprintf(newstr, len, fmt, ap2);", "source_name": "vasprintf", "start_code_line": 66, "target_name": "vsnprintf"}, {"color": "#97c2fc", "desc": "\u5206\u914d\u521d\u59cb\u5b57\u7b26\u4e32\u5185\u5b58", "end_code_line": 50, "id": "bsd-asprintf.c|malloc", "label": "bsd-asprintf.c|malloc", "name": "bsd-asprintf.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\openbsd-compat\\bsd-asprintf.c", "shape": "dot", "size": 10, "source_code": "49: \tif ((string = malloc(INIT_SZ)) == NULL)\n50: \t\tgoto fail;", "source_name": "vasprintf", "start_code_line": 49, "target_name": "malloc"}, {"color": "#97c2fc", "desc": "\u683c\u5f0f\u5316\u5b57\u7b26\u4e32\u5e76\u5199\u5165", "end_code_line": 52, "id": "bsd-asprintf.c|vsnprintf", "label": "bsd-asprintf.c|vsnprintf", "name": "bsd-asprintf.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\openbsd-compat\\bsd-asprintf.c", "shape": "dot", "size": 10, "source_code": "52: \tret = vsnprintf(string, INIT_SZ, fmt, ap2);", "source_name": "vasprintf", "start_code_line": 52, "target_name": "vsnprintf"}, {"color": "#97c2fc", "desc": "\u91cd\u65b0\u5206\u914d\u5b57\u7b26\u4e32\u5185\u5b58", "end_code_line": 61, "id": "bsd-asprintf.c|realloc", "label": "bsd-asprintf.c|realloc", "name": "bsd-asprintf.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\openbsd-compat\\bsd-asprintf.c", "shape": "dot", "size": 10, "source_code": "60: \t\tif ((newstr = realloc(string, len)) == NULL) {\n61: \t\t\tfree(string);", "source_name": "vasprintf", "start_code_line": 60, "target_name": "realloc"}, {"color": "#97c2fc", "desc": "\u7ed3\u675f\u53ef\u53d8\u53c2\u6570\u5217\u8868", "end_code_line": 95, "id": "bsd-asprintf.c|asprintf", "label": "bsd-asprintf.c|asprintf", "name": "bsd-asprintf.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\openbsd-compat\\bsd-asprintf.c", "shape": "dot", "size": 10, "source_code": "95: \tva_end(ap);", "source_name": "asprintf", "start_code_line": 95, "target_name": "va_end"}, {"color": "#97c2fc", "desc": "\u521d\u59cb\u5316\u53ef\u53d8\u53c2\u6570\u5217\u8868", "end_code_line": 93, "id": "bsd-asprintf.c|va_start", "label": "bsd-asprintf.c|va_start", "name": "bsd-asprintf.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\openbsd-compat\\bsd-asprintf.c", "shape": "dot", "size": 10, "source_code": "93: \tva_start(ap, fmt);", "source_name": "asprintf", "start_code_line": 93, "target_name": "va_start"}, {"color": "#97c2fc", "desc": "\u7ed3\u675f\u53ef\u53d8\u53c2\u6570\u5217\u8868", "end_code_line": 95, "id": "bsd-asprintf.c|va_end", "label": "bsd-asprintf.c|va_end", "name": "bsd-asprintf.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\openbsd-compat\\bsd-asprintf.c", "shape": "dot", "size": 10, "source_code": "95: \tva_end(ap);", "source_name": "asprintf", "start_code_line": 95, "target_name": "va_end"}, {"color": "#97c2fc", "desc": "SHA1\u53d8\u6362\u6838\u5fc3\u7b97\u6cd5", "end_code_line": 139, "id": "sha1.c|SHA1Transform", "label": "sha1.c|SHA1Transform", "name": "sha1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\openbsd-compat\\sha1.c", "shape": "dot", "size": 10, "source_code": "137: \t\tSHA1Transform(context-\u003estate, context-\u003ebuffer);\n138: \t\tfor ( ; i + 63 \u003c len; i += 64)\n139: \t\t\tSHA1Transform(context-\u003estate, (u_int8_t *)\u0026data[i]);", "source_name": "SHA1Transform", "start_code_line": 137, "target_name": "SHA1Transform"}, {"color": "#97c2fc", "desc": "\u590d\u5236\u5185\u5b58\u5757", "end_code_line": 63, "id": "sha1.c|memcpy", "label": "sha1.c|memcpy", "name": "sha1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\openbsd-compat\\sha1.c", "shape": "dot", "size": 10, "source_code": " 63: \t(void)memcpy(block, buffer, SHA1_BLOCK_LENGTH);", "source_name": "SHA1Transform", "start_code_line": 63, "target_name": "memcpy"}, {"color": "#97c2fc", "desc": "\u521d\u59cb\u5316SHA1\u4e0a\u4e0b\u6587", "end_code_line": 121, "id": "sha1.c|SHA1Init", "label": "sha1.c|SHA1Init", "name": "sha1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\openbsd-compat\\sha1.c", "shape": "dot", "size": 10, "source_code": "111: SHA1Init(SHA1_CTX *context)\n112: {\n113: \n114: \t/* SHA1 initialization constants */\n115: \tcontext-\u003ecount = 0;\n116: \tcontext-\u003estate[0] = 0x67452301;\n117: \tcontext-\u003estate[1] = 0xEFCDAB89;\n118: \tcontext-\u003estate[2] = 0x98BADCFE;\n119: \tcontext-\u003estate[3] = 0x10325476;\n120: \tcontext-\u003estate[4] = 0xC3D2E1F0;\n121: }", "source_name": "SHA1Init", "start_code_line": 111, "target_name": ""}, {"color": "#97c2fc", "desc": "\u521d\u59cb\u5316SHA1\u4e0a\u4e0b\u6587", "end_code_line": 121, "id": "sha1.c|", "label": "sha1.c|", "name": "sha1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\openbsd-compat\\sha1.c", "shape": "dot", "size": 10, "source_code": "111: SHA1Init(SHA1_CTX *context)\n112: {\n113: \n114: \t/* SHA1 initialization constants */\n115: \tcontext-\u003ecount = 0;\n116: \tcontext-\u003estate[0] = 0x67452301;\n117: \tcontext-\u003estate[1] = 0xEFCDAB89;\n118: \tcontext-\u003estate[2] = 0x98BADCFE;\n119: \tcontext-\u003estate[3] = 0x10325476;\n120: \tcontext-\u003estate[4] = 0xC3D2E1F0;\n121: }", "source_name": "SHA1Init", "start_code_line": 111, "target_name": ""}, {"color": "#97c2fc", "desc": "\u66f4\u65b0SHA1\u72b6\u6001", "end_code_line": 139, "id": "sha1.c|SHA1Update", "label": "sha1.c|SHA1Update", "name": "sha1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\openbsd-compat\\sha1.c", "shape": "dot", "size": 10, "source_code": "137: \t\tSHA1Transform(context-\u003estate, context-\u003ebuffer);\n138: \t\tfor ( ; i + 63 \u003c len; i += 64)\n139: \t\t\tSHA1Transform(context-\u003estate, (u_int8_t *)\u0026data[i]);", "source_name": "SHA1Update", "start_code_line": 137, "target_name": "SHA1Transform"}, {"color": "#97c2fc", "desc": "\u6dfb\u52a0\u586b\u5145\u5e76\u66f4\u65b0", "end_code_line": 162, "id": "sha1.c|SHA1Pad", "label": "sha1.c|SHA1Pad", "name": "sha1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\openbsd-compat\\sha1.c", "shape": "dot", "size": 10, "source_code": "162: \tSHA1Update(context, (u_int8_t *)\"\\200\", 1);", "source_name": "SHA1Pad", "start_code_line": 162, "target_name": "SHA1Update"}, {"color": "#97c2fc", "desc": "\u6e05\u7a7a\u4e0a\u4e0b\u6587", "end_code_line": 179, "id": "sha1.c|SHA1Final", "label": "sha1.c|SHA1Final", "name": "sha1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\openbsd-compat\\sha1.c", "shape": "dot", "size": 10, "source_code": "179: \texplicit_bzero(context, sizeof(*context));", "source_name": "SHA1Final", "start_code_line": 179, "target_name": "explicit_bzero"}, {"color": "#97c2fc", "desc": "\u6e05\u7a7a\u4e0a\u4e0b\u6587", "end_code_line": 179, "id": "sha1.c|explicit_bzero", "label": "sha1.c|explicit_bzero", "name": "sha1.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\openbsd-compat\\sha1.c", "shape": "dot", "size": 10, "source_code": "179: \texplicit_bzero(context, sizeof(*context));", "source_name": "SHA1Final", "start_code_line": 179, "target_name": "explicit_bzero"}, {"color": "#97c2fc", "desc": "\u9000\u51fa\u7a0b\u5e8f", "end_code_line": 31, "id": "check-perm.c|fatal", "label": "check-perm.c|fatal", "name": "check-perm.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\check-perm.c", "shape": "dot", "size": 10, "source_code": " 31: \texit(1);", "source_name": "fatal", "start_code_line": 31, "target_name": "exit"}, {"color": "#97c2fc", "desc": "\u683c\u5f0f\u5316\u8f93\u51fa\u5230stderr", "end_code_line": 28, "id": "check-perm.c|vfprintf", "label": "check-perm.c|vfprintf", "name": "check-perm.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\check-perm.c", "shape": "dot", "size": 10, "source_code": " 24: {\n 25: \tva_list args;\n 26: \n 27: \tva_start(args, fmt);\n 28: \tvfprintf(stderr, fmt, args);", "source_name": "fatal", "start_code_line": 24, "target_name": "vfprintf"}, {"color": "#97c2fc", "desc": "\u9000\u51fa\u7a0b\u5e8f", "end_code_line": 31, "id": "check-perm.c|exit", "label": "check-perm.c|exit", "name": "check-perm.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\check-perm.c", "shape": "dot", "size": 10, "source_code": " 31: \texit(1);", "source_name": "fatal", "start_code_line": 31, "target_name": "exit"}, {"color": "#97c2fc", "desc": "\u6539\u53d8\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55", "end_code_line": 74, "id": "check-perm.c|safely_chroot", "label": "check-perm.c|safely_chroot", "name": "check-perm.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\check-perm.c", "shape": "dot", "size": 10, "source_code": " 74: \tif (chdir(path) == -1)", "source_name": "safely_chroot", "start_code_line": 74, "target_name": "chdir"}, {"color": "#97c2fc", "desc": "\u6539\u53d8\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55", "end_code_line": 74, "id": "check-perm.c|chdir", "label": "check-perm.c|chdir", "name": "check-perm.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\check-perm.c", "shape": "dot", "size": 10, "source_code": " 74: \tif (chdir(path) == -1)", "source_name": "safely_chroot", "start_code_line": 74, "target_name": "chdir"}, {"color": "#97c2fc", "desc": "\u8fd4\u56de\u7528\u6237ID\u5224\u65ad\u7ed3\u679c", "end_code_line": 89, "id": "check-perm.c|platform_sys_dir_uid", "label": "check-perm.c|platform_sys_dir_uid", "name": "check-perm.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\check-perm.c", "shape": "dot", "size": 10, "source_code": " 81: platform_sys_dir_uid(uid_t uid)\n 82: {\n 83: \tif (uid == 0)\n 84: \t\treturn 1;\n 85: #ifdef PLATFORM_SYS_DIR_UID\n 86: \tif (uid == PLATFORM_SYS_DIR_UID)\n 87: \t\treturn 1;\n 88: #endif\n 89: \treturn 0;", "source_name": "platform_sys_dir_uid", "start_code_line": 81, "target_name": "return"}, {"color": "#97c2fc", "desc": "\u8fd4\u56de\u7528\u6237ID\u5224\u65ad\u7ed3\u679c", "end_code_line": 89, "id": "check-perm.c|return", "label": "check-perm.c|return", "name": "check-perm.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\check-perm.c", "shape": "dot", "size": 10, "source_code": " 81: platform_sys_dir_uid(uid_t uid)\n 82: {\n 83: \tif (uid == 0)\n 84: \t\treturn 1;\n 85: #ifdef PLATFORM_SYS_DIR_UID\n 86: \tif (uid == PLATFORM_SYS_DIR_UID)\n 87: \t\treturn 1;\n 88: #endif\n 89: \treturn 0;", "source_name": "platform_sys_dir_uid", "start_code_line": 81, "target_name": "return"}, {"color": "#97c2fc", "desc": "\u6bd4\u8f83\u5b57\u7b26\u4e32", "end_code_line": 138, "id": "check-perm.c|auth_secure_path", "label": "check-perm.c|auth_secure_path", "name": "check-perm.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\check-perm.c", "shape": "dot", "size": 10, "source_code": "138: \t\tif (comparehome \u0026\u0026 strcmp(homedir, buf) == 0)", "source_name": "auth_secure_path", "start_code_line": 138, "target_name": "strcmp"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u7edd\u5bf9\u8def\u5f84", "end_code_line": 102, "id": "check-perm.c|realpath", "label": "check-perm.c|realpath", "name": "check-perm.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\check-perm.c", "shape": "dot", "size": 10, "source_code": "102: \tif (realpath(name, buf) == NULL) {", "source_name": "auth_secure_path", "start_code_line": 102, "target_name": "realpath"}, {"color": "#97c2fc", "desc": "\u683c\u5f0f\u5316\u8f93\u51fa\u9519\u8bef\u4fe1\u606f", "end_code_line": 105, "id": "check-perm.c|snprintf", "label": "check-perm.c|snprintf", "name": "check-perm.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\check-perm.c", "shape": "dot", "size": 10, "source_code": "103: \t\tsnprintf(err, errlen, \"realpath %s failed: %s\", name,\n104: \t\t    strerror(errno));\n105: \t\treturn -1;", "source_name": "auth_secure_path", "start_code_line": 103, "target_name": "snprintf"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u76ee\u5f55\u540d", "end_code_line": 123, "id": "check-perm.c|dirname", "label": "check-perm.c|dirname", "name": "check-perm.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\check-perm.c", "shape": "dot", "size": 10, "source_code": "123: \t\tif ((cp = dirname(buf)) == NULL) {", "source_name": "auth_secure_path", "start_code_line": 123, "target_name": "dirname"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u6587\u4ef6\u6216\u76ee\u5f55\u72b6\u6001", "end_code_line": 129, "id": "check-perm.c|stat", "label": "check-perm.c|stat", "name": "check-perm.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\check-perm.c", "shape": "dot", "size": 10, "source_code": "129: \t\tif (stat(buf, \u0026st) \u003c 0 ||", "source_name": "auth_secure_path", "start_code_line": 129, "target_name": "stat"}, {"color": "#97c2fc", "desc": "\u6bd4\u8f83\u5b57\u7b26\u4e32", "end_code_line": 138, "id": "check-perm.c|strcmp", "label": "check-perm.c|strcmp", "name": "check-perm.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\check-perm.c", "shape": "dot", "size": 10, "source_code": "138: \t\tif (comparehome \u0026\u0026 strcmp(homedir, buf) == 0)", "source_name": "auth_secure_path", "start_code_line": 138, "target_name": "strcmp"}, {"color": "#97c2fc", "desc": "\u9000\u51fa\u7a0b\u5e8f", "end_code_line": 155, "id": "check-perm.c|usage", "label": "check-perm.c|usage", "name": "check-perm.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\check-perm.c", "shape": "dot", "size": 10, "source_code": "155: \texit(1);", "source_name": "usage", "start_code_line": 155, "target_name": "exit"}, {"color": "#97c2fc", "desc": "\u683c\u5f0f\u5316\u8f93\u51fa\u5230stderr", "end_code_line": 154, "id": "check-perm.c|fprintf", "label": "check-perm.c|fprintf", "name": "check-perm.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\check-perm.c", "shape": "dot", "size": 10, "source_code": "154: \tfprintf(stderr, \"check-perm -m [chroot | keys-command] [path]\\n\");", "source_name": "usage", "start_code_line": 154, "target_name": "fprintf"}, {"color": "#97c2fc", "desc": "\u683c\u5f0f\u5316\u8f93\u51fa\u5230stderr", "end_code_line": 201, "id": "check-perm.c|main", "label": "check-perm.c|main", "name": "check-perm.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\check-perm.c", "shape": "dot", "size": 10, "source_code": "201: \t\tfprintf(stderr, \"Invalid mode\\n\");", "source_name": "main", "start_code_line": 201, "target_name": "fprintf"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u7528\u6237ID", "end_code_line": 193, "id": "check-perm.c|getuid", "label": "check-perm.c|getuid", "name": "check-perm.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\check-perm.c", "shape": "dot", "size": 10, "source_code": "193: \t\tsafely_chroot(path, getuid());", "source_name": "main", "start_code_line": 193, "target_name": "getuid"}, {"color": "#97c2fc", "desc": "\u76d1\u542c\u672c\u5730\u8fde\u63a5", "end_code_line": 390, "id": "netcat.c|main", "label": "netcat.c|main", "name": "netcat.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\netcat.c", "shape": "dot", "size": 10, "source_code": " 390: \t\t\t\ts = local_listen(host, uport, hints);", "source_name": "main", "start_code_line": 390, "target_name": "local_listen"}, {"color": "#97c2fc", "desc": "\u5ffd\u7565SIGPIPE\u4fe1\u53f7", "end_code_line": 169, "id": "netcat.c|signal", "label": "netcat.c|signal", "name": "netcat.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\netcat.c", "shape": "dot", "size": 10, "source_code": " 148: int\n 149: main(int argc, char *argv[])\n 150: {\n 151: \tint ch, s, ret, socksv;\n 152: \tchar *host, *uport;\n 153: \tstruct addrinfo hints;\n 154: \tstruct servent *sv;\n 155: \tsocklen_t len;\n 156: \tstruct sockaddr_storage cliaddr;\n 157: \tchar *proxy = NULL;\n 158: \tconst char *errstr, *proxyhost = \"\", *proxyport = NULL;\n 159: \tstruct addrinfo proxyhints;\n 160: \tchar unix_dg_tmp_socket_buf[UNIX_DG_TMP_SOCKET_SIZE];\n 161: \n 162: \tret = 1;\n 163: \ts = 0;\n 164: \tsocksv = 5;\n 165: \thost = NULL;\n 166: \tuport = NULL;\n 167: \tsv = NULL;\n 168: \n 169: \tsignal(SIGPIPE, SIG_IGN);", "source_name": "main", "start_code_line": 148, "target_name": "signal"}, {"color": "#97c2fc", "desc": "\u89e3\u6790\u547d\u4ee4\u884c\u53c2\u6570", "end_code_line": 171, "id": "netcat.c|getopt", "label": "netcat.c|getopt", "name": "netcat.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\netcat.c", "shape": "dot", "size": 10, "source_code": " 171: \twhile ((ch = getopt(argc, argv,", "source_name": "main", "start_code_line": 171, "target_name": "getopt"}, {"color": "#97c2fc", "desc": "\u8f93\u51fa\u4f7f\u7528\u8bf4\u660e", "end_code_line": 1345, "id": "netcat.c|usage", "label": "netcat.c|usage", "name": "netcat.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\netcat.c", "shape": "dot", "size": 10, "source_code": "1335: usage(int ret)\n1336: {\n1337: \tfprintf(stderr,\n1338: \t    \"usage: nc [-46DdFhklNnrStUuvz] [-I length] [-i interval] [-O length]\\n\"\n1339: \t    \"\\t  [-P proxy_username] [-p source_port] [-s source] [-T toskeyword]\\n\"\n1340: \t    \"\\t  [-V rtable] [-w timeout] [-X proxy_protocol]\\n\"\n1341: \t    \"\\t  [-x proxy_address[:port]] [destination] [port]\\n\");\n1342: \tif (ret)\n1343: \t\texit(1);\n1344: }\n1345: ", "source_name": "main", "start_code_line": 1335, "target_name": "usage"}, {"color": "#97c2fc", "desc": "\u5f00\u59cb\u76d1\u542c", "end_code_line": 770, "id": "netcat.c|local_listen", "label": "netcat.c|local_listen", "name": "netcat.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\netcat.c", "shape": "dot", "size": 10, "source_code": " 768: \t\tif (listen(s, 1) \u003c 0)\n 769: \t\t\terr(1, \"listen\");\n 770: \t}", "source_name": "local_listen", "start_code_line": 768, "target_name": "listen"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6\u5730\u5740\u4fe1\u606f", "end_code_line": 733, "id": "netcat.c|getaddrinfo", "label": "netcat.c|getaddrinfo", "name": "netcat.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\netcat.c", "shape": "dot", "size": 10, "source_code": " 733: \tif ((error = getaddrinfo(host, port, \u0026hints, \u0026res)))", "source_name": "local_listen", "start_code_line": 733, "target_name": "getaddrinfo"}, {"color": "#97c2fc", "desc": "\u521b\u5efa\u5957\u63a5\u5b57", "end_code_line": 738, "id": "netcat.c|socket", "label": "netcat.c|socket", "name": "netcat.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\netcat.c", "shape": "dot", "size": 10, "source_code": " 738: \t\tif ((s = socket(res0-\u003eai_family, res0-\u003eai_socktype,", "source_name": "local_listen", "start_code_line": 738, "target_name": "socket"}, {"color": "#97c2fc", "desc": "\u8bbe\u7f6e\u5957\u63a5\u5b57\u9009\u9879", "end_code_line": 770, "id": "netcat.c|setsockopt", "label": "netcat.c|setsockopt", "name": "netcat.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\netcat.c", "shape": "dot", "size": 10, "source_code": " 742: #ifdef SO_RTABLE\n 743: \t\tif (rtableid \u003e= 0 \u0026\u0026 (setsockopt(s, SOL_SOCKET, SO_RTABLE,\n 744: \t\t    \u0026rtableid, sizeof(rtableid)) == -1))\n 745: \t\t\terr(1, \"setsockopt SO_RTABLE\");\n 746: #endif\n 747: #ifdef SO_REUSEPORT\n 748: \t\tret = setsockopt(s, SOL_SOCKET, SO_REUSEPORT, \u0026x, sizeof(x));\n 749: \t\tif (ret == -1)\n 750: \t\t\terr(1, \"setsockopt SO_REUSEPORT\");\n 751: #endif\n 752: #ifdef SO_REUSEADDR\n 753: \t\tret = setsockopt(s, SOL_SOCKET, SO_REUSEADDR, \u0026x, sizeof(x));\n 754: \t\tif (ret == -1)\n 755: \t\t\terr(1, \"setsockopt SO_REUSEADDR\");\n 756: #endif\n 757: \t\tset_common_sockopts(s, res0-\u003eai_family);\n 758: \n 759: \t\tif (bind(s, (struct sockaddr *)res0-\u003eai_addr,\n 760: \t\t    res0-\u003eai_addrlen) == 0)\n 761: \t\t\tbreak;\n 762: \n 763: \t\tclose(s);\n 764: \t\ts = -1;\n 765: \t} while ((res0 = res0-\u003eai_next) != NULL);\n 766: \n 767: \tif (!uflag \u0026\u0026 s != -1) {\n 768: \t\tif (listen(s, 1) \u003c 0)\n 769: \t\t\terr(1, \"listen\");\n 770: \t}", "source_name": "local_listen", "start_code_line": 742, "target_name": "setsockopt"}, {"color": "#97c2fc", "desc": "\u7ed1\u5b9a\u5957\u63a5\u5b57", "end_code_line": 759, "id": "netcat.c|bind", "label": "netcat.c|bind", "name": "netcat.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\netcat.c", "shape": "dot", "size": 10, "source_code": " 759: \t\tif (bind(s, (struct sockaddr *)res0-\u003eai_addr,", "source_name": "local_listen", "start_code_line": 759, "target_name": "bind"}, {"color": "#97c2fc", "desc": "\u5f00\u59cb\u76d1\u542c", "end_code_line": 770, "id": "netcat.c|listen", "label": "netcat.c|listen", "name": "netcat.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\netcat.c", "shape": "dot", "size": 10, "source_code": " 768: \t\tif (listen(s, 1) \u003c 0)\n 769: \t\t\terr(1, \"listen\");\n 770: \t}", "source_name": "local_listen", "start_code_line": 768, "target_name": "listen"}, {"color": "#97c2fc", "desc": "\u7ed1\u5b9aunix\u57df\u5957\u63a5\u5b57", "end_code_line": 546, "id": "netcat.c|unix_bind", "label": "netcat.c|unix_bind", "name": "netcat.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\netcat.c", "shape": "dot", "size": 10, "source_code": " 546: \tif (bind(s, (struct sockaddr *)\u0026sun_sa, SUN_LEN(\u0026sun_sa)) \u003c 0) {", "source_name": "unix_bind", "start_code_line": 546, "target_name": "bind"}, {"color": "#97c2fc", "desc": "\u8fde\u63a5\u5230unix\u57df\u5957\u63a5\u5b57", "end_code_line": 581, "id": "netcat.c|unix_connect", "label": "netcat.c|unix_connect", "name": "netcat.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\netcat.c", "shape": "dot", "size": 10, "source_code": " 581: \tif (connect(s, (struct sockaddr *)\u0026sun_sa, SUN_LEN(\u0026sun_sa)) \u003c 0) {", "source_name": "unix_connect", "start_code_line": 581, "target_name": "connect"}, {"color": "#97c2fc", "desc": "\u8fde\u63a5\u5230unix\u57df\u5957\u63a5\u5b57", "end_code_line": 581, "id": "netcat.c|connect", "label": "netcat.c|connect", "name": "netcat.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\netcat.c", "shape": "dot", "size": 10, "source_code": " 581: \tif (connect(s, (struct sockaddr *)\u0026sun_sa, SUN_LEN(\u0026sun_sa)) \u003c 0) {", "source_name": "unix_connect", "start_code_line": 581, "target_name": "connect"}, {"color": "#97c2fc", "desc": "\u8bbe\u7f6e\u8fdc\u7a0b\u8fde\u63a5\u5957\u63a5\u5b57\u9009\u9879", "end_code_line": 714, "id": "netcat.c|remote_connect", "label": "netcat.c|remote_connect", "name": "netcat.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\netcat.c", "shape": "dot", "size": 10, "source_code": " 631: \t\tif (rtableid \u003e= 0 \u0026\u0026 (setsockopt(s, SOL_SOCKET, SO_RTABLE,\n 632: \t\t    \u0026rtableid, sizeof(rtableid)) == -1))\n 633: \t\t\terr(1, \"setsockopt SO_RTABLE\");\n 634: #endif\n 635: \t\t/* Bind to a local port or source address if specified. */\n 636: \t\tif (sflag || pflag) {\n 637: \t\t\tstruct addrinfo ahints, *ares;\n 638: \n 639: #ifdef SO_BINDANY\n 640: \t\t\t/* try SO_BINDANY, but don\u0027t insist */\n 641: \t\t\tsetsockopt(s, SOL_SOCKET, SO_BINDANY, \u0026on, sizeof(on));\n 642: #endif\n 643: \t\t\tmemset(\u0026ahints, 0, sizeof(struct addrinfo));\n 644: \t\t\tahints.ai_family = res0-\u003eai_family;\n 645: \t\t\tahints.ai_socktype = uflag ? SOCK_DGRAM : SOCK_STREAM;\n 646: \t\t\tahints.ai_protocol = uflag ? IPPROTO_UDP : IPPROTO_TCP;\n 647: \t\t\tahints.ai_flags = AI_PASSIVE;\n 648: \t\t\tif ((error = getaddrinfo(sflag, pflag, \u0026ahints, \u0026ares)))\n 649: \t\t\t\terrx(1, \"getaddrinfo: %s\", gai_strerror(error));\n 650: \n 651: \t\t\tif (bind(s, (struct sockaddr *)ares-\u003eai_addr,\n 652: \t\t\t    ares-\u003eai_addrlen) \u003c 0)\n 653: \t\t\t\terr(1, \"bind failed\");\n 654: \t\t\tfreeaddrinfo(ares);\n 655: \t\t}\n 656: \n 657: \t\tset_common_sockopts(s, res0-\u003eai_family);\n 658: \n 659: \t\tif (timeout_connect(s, res0-\u003eai_addr, res0-\u003eai_addrlen) == 0)\n 660: \t\t\tbreak;\n 661: \t\telse if (vflag)\n 662: \t\t\twarn(\"connect to %s port %s (%s) failed\", host, port,\n 663: \t\t\t    uflag ? \"udp\" : \"tcp\");\n 664: \n 665: \t\tclose(s);\n 666: \t\ts = -1;\n 667: \t} while ((res0 = res0-\u003eai_next) != NULL);\n 668: \n 669: \tfreeaddrinfo(res);\n 670: \n 671: \treturn (s);\n 672: }\n 673: \n 674: int\n 675: timeout_connect(int s, const struct sockaddr *name, socklen_t namelen)\n 676: {\n 677: \tstruct pollfd pfd;\n 678: \tsocklen_t optlen;\n 679: \tint flags = 0, optval;\n 680: \tint ret;\n 681: \n 682: \tif (timeout != -1) {\n 683: \t\tflags = fcntl(s, F_GETFL, 0);\n 684: \t\tif (fcntl(s, F_SETFL, flags | O_NONBLOCK) == -1)\n 685: \t\t\terr(1, \"set non-blocking mode\");\n 686: \t}\n 687: \n 688: \tif ((ret = connect(s, name, namelen)) != 0 \u0026\u0026 errno == EINPROGRESS) {\n 689: \t\tpfd.fd = s;\n 690: \t\tpfd.events = POLLOUT;\n 691: \t\tif ((ret = poll(\u0026pfd, 1, timeout)) == 1) {\n 692: \t\t\toptlen = sizeof(optval);\n 693: \t\t\tif ((ret = getsockopt(s, SOL_SOCKET, SO_ERROR,\n 694: \t\t\t    \u0026optval, \u0026optlen)) == 0) {\n 695: \t\t\t\terrno = optval;\n 696: \t\t\t\tret = optval == 0 ? 0 : -1;\n 697: \t\t\t}\n 698: \t\t} else if (ret == 0) {\n 699: \t\t\terrno = ETIMEDOUT;\n 700: \t\t\tret = -1;\n 701: \t\t} else\n 702: \t\t\terr(1, \"poll failed\");\n 703: \t}\n 704: \n 705: \tif (timeout != -1 \u0026\u0026 fcntl(s, F_SETFL, flags) == -1)\n 706: \t\terr(1, \"restoring flags\");\n 707: \n 708: \treturn (ret);\n 709: }\n 710: \n 711: /*\n 712:  * local_listen()\n 713:  * Returns a socket listening on a local port, binds to specified source\n 714:  * address. Returns -1 on failure.", "source_name": "remote_connect", "start_code_line": 631, "target_name": "setsockopt"}, {"color": "#97c2fc", "desc": "\u8bfb\u53d6HTTP\u54cd\u5e94", "end_code_line": 1624, "id": "netcat.c|socks_connect", "label": "netcat.c|socks_connect", "name": "netcat.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\netcat.c", "shape": "dot", "size": 10, "source_code": "1624: \t\t\tr = snprintf(buf, sizeof(buf),", "source_name": "socks_connect", "start_code_line": 1624, "target_name": "read"}, {"color": "#97c2fc", "desc": "\u89e3\u7801\u5730\u5740\u548c\u7aef\u53e3", "end_code_line": 1411, "id": "netcat.c|decode_addrport", "label": "netcat.c|decode_addrport", "name": "netcat.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\netcat.c", "shape": "dot", "size": 10, "source_code": "1407: decode_addrport(const char *h, const char *p, struct sockaddr *addr,\n1408:     socklen_t addrlen, int v4only, int numeric)\n1409: {\n1410: \tint r;\n1411: \tstruct addrinfo hints, *res;", "source_name": "socks_connect", "start_code_line": 1407, "target_name": "decode_addrport"}, {"color": "#97c2fc", "desc": "\u53d1\u9001\u5230\u4ee3\u7406\u5957\u63a5\u5b57", "end_code_line": 1513, "id": "netcat.c|atomicio", "label": "netcat.c|atomicio", "name": "netcat.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\netcat.c", "shape": "dot", "size": 10, "source_code": "1513: \t\tcnt = atomicio(vwrite, proxyfd, buf, 3);", "source_name": "socks_connect", "start_code_line": 1513, "target_name": "atomicio"}, {"color": "#97c2fc", "desc": "\u8bfb\u53d6SOCKS\u54cd\u5e94", "end_code_line": 1517, "id": "netcat.c|read", "label": "netcat.c|read", "name": "netcat.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\netcat.c", "shape": "dot", "size": 10, "source_code": "1517: \t\tcnt = atomicio(read, proxyfd, buf, 2);", "source_name": "socks_connect", "start_code_line": 1517, "target_name": "read"}, {"color": "#97c2fc", "desc": "\u62a5\u544a\u6253\u5f00\u6587\u4ef6\u9519\u8bef", "end_code_line": 15, "id": "agent_fuzz_helper.c|devnull_or_die", "label": "agent_fuzz_helper.c|devnull_or_die", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": " 15: \t\terror_f(\"open /dev/null: %s\", strerror(errno));", "source_name": "devnull_or_die", "start_code_line": 15, "target_name": "error_f"}, {"color": "#97c2fc", "desc": "\u6253\u5f00/dev/null\u6587\u4ef6\u63cf\u8ff0\u7b26", "end_code_line": 18, "id": "agent_fuzz_helper.c|open", "label": "agent_fuzz_helper.c|open", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": " 10: devnull_or_die(void)\n 11: {\n 12: \tint fd;\n 13: \n 14: \tif ((fd = open(\"/dev/null\", O_RDWR)) == -1) {\n 15: \t\terror_f(\"open /dev/null: %s\", strerror(errno));\n 16: \t\tabort();\n 17: \t}\n 18: \treturn fd;", "source_name": "devnull_or_die", "start_code_line": 10, "target_name": "open"}, {"color": "#97c2fc", "desc": "\u62a5\u544a\u6253\u5f00\u6587\u4ef6\u9519\u8bef", "end_code_line": 15, "id": "agent_fuzz_helper.c|error_f", "label": "agent_fuzz_helper.c|error_f", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": " 15: \t\terror_f(\"open /dev/null: %s\", strerror(errno));", "source_name": "devnull_or_die", "start_code_line": 15, "target_name": "error_f"}, {"color": "#97c2fc", "desc": "\u62a5\u544a\u89e3\u6790\u516c\u94a5\u9519\u8bef", "end_code_line": 32, "id": "agent_fuzz_helper.c|pubkey_or_die", "label": "agent_fuzz_helper.c|pubkey_or_die", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": " 32: \t\terror_fr(r, \"parse\");", "source_name": "pubkey_or_die", "start_code_line": 32, "target_name": "error_fr"}, {"color": "#97c2fc", "desc": "\u521b\u5efa\u65b0\u7684\u516c\u94a5\u7ed3\u6784", "end_code_line": 29, "id": "agent_fuzz_helper.c|sshkey_new", "label": "agent_fuzz_helper.c|sshkey_new", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": " 29: \tif ((pubkey = sshkey_new(KEY_UNSPEC)) == NULL)", "source_name": "pubkey_or_die", "start_code_line": 29, "target_name": "sshkey_new"}, {"color": "#97c2fc", "desc": "\u8bfb\u53d6\u516c\u94a5", "end_code_line": 31, "id": "agent_fuzz_helper.c|sshkey_read", "label": "agent_fuzz_helper.c|sshkey_read", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": " 31: \tif ((r = sshkey_read(pubkey, \u0026cp)) != 0) {", "source_name": "pubkey_or_die", "start_code_line": 31, "target_name": "sshkey_read"}, {"color": "#97c2fc", "desc": "\u62a5\u544a\u89e3\u6790\u516c\u94a5\u9519\u8bef", "end_code_line": 32, "id": "agent_fuzz_helper.c|error_fr", "label": "agent_fuzz_helper.c|error_fr", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": " 32: \t\terror_fr(r, \"parse\");", "source_name": "pubkey_or_die", "start_code_line": 32, "target_name": "error_fr"}, {"color": "#97c2fc", "desc": "\u62a5\u544a\u89e3\u6790\u79c1\u94a5\u9519\u8bef", "end_code_line": 51, "id": "agent_fuzz_helper.c|privkey_or_die", "label": "agent_fuzz_helper.c|privkey_or_die", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": " 51: \t\terror_fr(r, \"parse\");", "source_name": "privkey_or_die", "start_code_line": 51, "target_name": "error_fr"}, {"color": "#97c2fc", "desc": "\u4ece\u5b57\u7b26\u4e32\u521b\u5efasshbuf", "end_code_line": 46, "id": "agent_fuzz_helper.c|sshbuf_from", "label": "agent_fuzz_helper.c|sshbuf_from", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": " 46: \tif ((b = sshbuf_from(s, strlen(s))) == NULL) {", "source_name": "privkey_or_die", "start_code_line": 46, "target_name": "sshbuf_from"}, {"color": "#97c2fc", "desc": "\u89e3\u6790\u79c1\u94a5\u6587\u4ef6blob", "end_code_line": 50, "id": "agent_fuzz_helper.c|sshkey_parse_private_fileblob", "label": "agent_fuzz_helper.c|sshkey_parse_private_fileblob", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": " 50: \tif ((r = sshkey_parse_private_fileblob(b, \"\", \u0026privkey, NULL)) != 0) {", "source_name": "privkey_or_die", "start_code_line": 50, "target_name": "sshkey_parse_private_fileblob"}, {"color": "#97c2fc", "desc": "\u590d\u5236\u8bc1\u4e66\u5185\u5bb9", "end_code_line": 83, "id": "agent_fuzz_helper.c|add_key", "label": "agent_fuzz_helper.c|add_key", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": " 83: \tif ((r = sshkey_cert_copy(cert, id-\u003ekey)) != 0) {", "source_name": "add_key", "start_code_line": 83, "target_name": "sshkey_cert_copy"}, {"color": "#97c2fc", "desc": "\u5c06\u79c1\u94a5\u8f6c\u6362\u4e3a\u8bc1\u4e66", "end_code_line": 79, "id": "agent_fuzz_helper.c|sshkey_to_certified", "label": "agent_fuzz_helper.c|sshkey_to_certified", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": " 79: \tif ((r = sshkey_to_certified(id-\u003ekey)) != 0) {", "source_name": "add_key", "start_code_line": 79, "target_name": "sshkey_to_certified"}, {"color": "#97c2fc", "desc": "\u590d\u5236\u8bc1\u4e66\u5185\u5bb9", "end_code_line": 83, "id": "agent_fuzz_helper.c|sshkey_cert_copy", "label": "agent_fuzz_helper.c|sshkey_cert_copy", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": " 83: \tif ((r = sshkey_cert_copy(cert, id-\u003ekey)) != 0) {", "source_name": "add_key", "start_code_line": 83, "target_name": "sshkey_cert_copy"}, {"color": "#97c2fc", "desc": "\u4eceidlist\u4e2d\u79fb\u9664\u5143\u7d20", "end_code_line": 101, "id": "agent_fuzz_helper.c|cleanup_idtab", "label": "agent_fuzz_helper.c|cleanup_idtab", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": "101: \t\tTAILQ_REMOVE(\u0026idtab-\u003eidlist, id, next);", "source_name": "cleanup_idtab", "start_code_line": 101, "target_name": "TAILQ_REMOVE"}, {"color": "#97c2fc", "desc": "\u83b7\u53d6idtab\u7684\u7b2c\u4e00\u4e2a\u5143\u7d20", "end_code_line": 100, "id": "agent_fuzz_helper.c|TAILQ_FIRST", "label": "agent_fuzz_helper.c|TAILQ_FIRST", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": " 99: \tfor (id = TAILQ_FIRST(\u0026idtab-\u003eidlist); id;\n100: \t    id = TAILQ_FIRST(\u0026idtab-\u003eidlist)) {", "source_name": "cleanup_idtab", "start_code_line": 99, "target_name": "TAILQ_FIRST"}, {"color": "#97c2fc", "desc": "\u4eceidlist\u4e2d\u79fb\u9664\u5143\u7d20", "end_code_line": 101, "id": "agent_fuzz_helper.c|TAILQ_REMOVE", "label": "agent_fuzz_helper.c|TAILQ_REMOVE", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": "101: \t\tTAILQ_REMOVE(\u0026idtab-\u003eidlist, id, next);", "source_name": "cleanup_idtab", "start_code_line": 101, "target_name": "TAILQ_REMOVE"}, {"color": "#97c2fc", "desc": "\u521d\u59cb\u5316idtab", "end_code_line": 112, "id": "agent_fuzz_helper.c|reset_idtab", "label": "agent_fuzz_helper.c|reset_idtab", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": "112: \tidtab_init();", "source_name": "reset_idtab", "start_code_line": 112, "target_name": "idtab_init"}, {"color": "#97c2fc", "desc": "\u521d\u59cb\u5316idtab", "end_code_line": 112, "id": "agent_fuzz_helper.c|idtab_init", "label": "agent_fuzz_helper.c|idtab_init", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": "112: \tidtab_init();", "source_name": "reset_idtab", "start_code_line": 112, "target_name": "idtab_init"}, {"color": "#97c2fc", "desc": "\u521b\u5efa\u65b0socket", "end_code_line": 144, "id": "agent_fuzz_helper.c|reset_sockettab", "label": "agent_fuzz_helper.c|reset_sockettab", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": "144: \tnew_socket(AUTH_CONNECTION, fd);", "source_name": "reset_sockettab", "start_code_line": 144, "target_name": "new_socket"}, {"color": "#97c2fc", "desc": "\u6e05\u7406sockettab", "end_code_line": 139, "id": "agent_fuzz_helper.c|cleanup_sockettab", "label": "agent_fuzz_helper.c|cleanup_sockettab", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": "139: \tcleanup_sockettab();", "source_name": "reset_sockettab", "start_code_line": 139, "target_name": "cleanup_sockettab"}, {"color": "#97c2fc", "desc": "\u590d\u5236\u6587\u4ef6\u63cf\u8ff0\u7b26", "end_code_line": 140, "id": "agent_fuzz_helper.c|dup", "label": "agent_fuzz_helper.c|dup", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": "140: \tif ((fd = dup(devnull)) == -1) {", "source_name": "reset_sockettab", "start_code_line": 140, "target_name": "dup"}, {"color": "#97c2fc", "desc": "\u521b\u5efa\u65b0socket", "end_code_line": 144, "id": "agent_fuzz_helper.c|new_socket", "label": "agent_fuzz_helper.c|new_socket", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": "144: \tnew_socket(AUTH_CONNECTION, fd);", "source_name": "reset_sockettab", "start_code_line": 144, "target_name": "new_socket"}, {"color": "#97c2fc", "desc": "\u6e05\u7406sockettab", "end_code_line": 175, "id": "agent_fuzz_helper.c|test_one", "label": "agent_fuzz_helper.c|test_one", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": "175: \tcleanup_sockettab();", "source_name": "test_one", "start_code_line": 175, "target_name": "cleanup_sockettab"}, {"color": "#97c2fc", "desc": "\u521d\u59cb\u5316\u65e5\u5fd7", "end_code_line": 157, "id": "agent_fuzz_helper.c|log_init", "label": "agent_fuzz_helper.c|log_init", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": "157: \t\tlog_init(__progname, SYSLOG_LEVEL_DEBUG3,", "source_name": "test_one", "start_code_line": 157, "target_name": "log_init"}, {"color": "#97c2fc", "desc": "\u5c06\u6570\u636e\u5199\u5165socket\u8f93\u5165\u7f13\u51b2\u533a", "end_code_line": 166, "id": "agent_fuzz_helper.c|sshbuf_put", "label": "agent_fuzz_helper.c|sshbuf_put", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": "166: \t(void)sshbuf_put(sockets[0].input, s, slen);", "source_name": "test_one", "start_code_line": 166, "target_name": "sshbuf_put"}, {"color": "#97c2fc", "desc": "\u5904\u7406\u6d88\u606f", "end_code_line": 169, "id": "agent_fuzz_helper.c|process_message", "label": "agent_fuzz_helper.c|process_message", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": "169: \t\tprocess_message(0);", "source_name": "test_one", "start_code_line": 169, "target_name": "process_message"}, {"color": "#97c2fc", "desc": "\u8fd4\u56de\u5931\u8d25\u6807\u5fd7", "end_code_line": 182, "id": "agent_fuzz_helper.c|pkcs11_make_cert", "label": "agent_fuzz_helper.c|pkcs11_make_cert", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": "182: \treturn -1; /* XXX */", "source_name": "pkcs11_make_cert", "start_code_line": 182, "target_name": ""}, {"color": "#97c2fc", "desc": "\u8fd4\u56de\u5931\u8d25\u6807\u5fd7", "end_code_line": 182, "id": "agent_fuzz_helper.c|", "label": "agent_fuzz_helper.c|", "name": "agent_fuzz_helper.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\agent_fuzz_helper.c", "shape": "dot", "size": 10, "source_code": "182: \treturn -1; /* XXX */", "source_name": "pkcs11_make_cert", "start_code_line": 182, "target_name": ""}, {"color": "#97c2fc", "desc": "\u6839\u636ereal_random\u6761\u4ef6\u83b7\u53d6\u968f\u673a\u6570\u636e", "end_code_line": 38, "id": "mkcorpus_sntrup761.c|randombytes", "label": "mkcorpus_sntrup761.c|randombytes", "name": "mkcorpus_sntrup761.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\mkcorpus_sntrup761.c", "shape": "dot", "size": 10, "source_code": "31: void\n32: randombytes(unsigned char *ptr, size_t l)\n33: {\n34: \tif (real_random)\n35: \t\tarc4random_buf(ptr, l);\n36: \telse\n37: \t\tmemset(ptr, 0, l);\n38: }", "source_name": "randombytes", "start_code_line": 31, "target_name": "arc4random_buf"}, {"color": "#97c2fc", "desc": "\u6839\u636ereal_random\u6761\u4ef6\u83b7\u53d6\u968f\u673a\u6570\u636e", "end_code_line": 38, "id": "mkcorpus_sntrup761.c|arc4random_buf", "label": "mkcorpus_sntrup761.c|arc4random_buf", "name": "mkcorpus_sntrup761.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\mkcorpus_sntrup761.c", "shape": "dot", "size": 10, "source_code": "31: void\n32: randombytes(unsigned char *ptr, size_t l)\n33: {\n34: \tif (real_random)\n35: \t\tarc4random_buf(ptr, l);\n36: \telse\n37: \t\tmemset(ptr, 0, l);\n38: }", "source_name": "randombytes", "start_code_line": 31, "target_name": "arc4random_buf"}, {"color": "#97c2fc", "desc": "\u5199\u5165\u6570\u636e\u5230\u6587\u4ef6", "end_code_line": 51, "id": "mkcorpus_sntrup761.c|write_blob", "label": "mkcorpus_sntrup761.c|write_blob", "name": "mkcorpus_sntrup761.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\mkcorpus_sntrup761.c", "shape": "dot", "size": 10, "source_code": "40: void write_blob(const char *path, int n, const char *suffix,\n41:     const void *ptr, size_t l)\n42: {\n43: \tchar name[256];\n44: \tFILE *f;\n45: \n46: \tsnprintf(name, sizeof(name), \"%s/%06d.%s\", path, n, suffix);\n47: \tif ((f = fopen(name, \"wb+\")) == NULL)\n48: \t\terr(1, \"fopen %s\", name);\n49: \tif (fwrite(ptr, l, 1, f) != 1)\n50: \t\terr(1, \"write %s\", name);\n51: \tfclose(f);", "source_name": "write_blob", "start_code_line": 40, "target_name": "fwrite"}, {"color": "#97c2fc", "desc": "\u6253\u5f00\u6587\u4ef6\u8fdb\u884c\u5199\u5165", "end_code_line": 51, "id": "mkcorpus_sntrup761.c|fopen", "label": "mkcorpus_sntrup761.c|fopen", "name": "mkcorpus_sntrup761.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\mkcorpus_sntrup761.c", "shape": "dot", "size": 10, "source_code": "40: void write_blob(const char *path, int n, const char *suffix,\n41:     const void *ptr, size_t l)\n42: {\n43: \tchar name[256];\n44: \tFILE *f;\n45: \n46: \tsnprintf(name, sizeof(name), \"%s/%06d.%s\", path, n, suffix);\n47: \tif ((f = fopen(name, \"wb+\")) == NULL)\n48: \t\terr(1, \"fopen %s\", name);\n49: \tif (fwrite(ptr, l, 1, f) != 1)\n50: \t\terr(1, \"write %s\", name);\n51: \tfclose(f);", "source_name": "write_blob", "start_code_line": 40, "target_name": "fopen"}, {"color": "#97c2fc", "desc": "\u5199\u5165\u6570\u636e\u5230\u6587\u4ef6", "end_code_line": 51, "id": "mkcorpus_sntrup761.c|fwrite", "label": "mkcorpus_sntrup761.c|fwrite", "name": "mkcorpus_sntrup761.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\mkcorpus_sntrup761.c", "shape": "dot", "size": 10, "source_code": "40: void write_blob(const char *path, int n, const char *suffix,\n41:     const void *ptr, size_t l)\n42: {\n43: \tchar name[256];\n44: \tFILE *f;\n45: \n46: \tsnprintf(name, sizeof(name), \"%s/%06d.%s\", path, n, suffix);\n47: \tif ((f = fopen(name, \"wb+\")) == NULL)\n48: \t\terr(1, \"fopen %s\", name);\n49: \tif (fwrite(ptr, l, 1, f) != 1)\n50: \t\terr(1, \"write %s\", name);\n51: \tfclose(f);", "source_name": "write_blob", "start_code_line": 40, "target_name": "fwrite"}, {"color": "#97c2fc", "desc": "\u5199\u5165\u5bc6\u6587\u5230\u6587\u4ef6", "end_code_line": 76, "id": "mkcorpus_sntrup761.c|main", "label": "mkcorpus_sntrup761.c|main", "name": "mkcorpus_sntrup761.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\mkcorpus_sntrup761.c", "shape": "dot", "size": 10, "source_code": "75: \t\twrite_blob(\"sntrup761_ciphertext_corpus\", i, \"ct\",\n76: \t\t    ciphertext, sizeof(ciphertext));", "source_name": "main", "start_code_line": 75, "target_name": "write_blob"}, {"color": "#97c2fc", "desc": "\u521b\u5efa\u516c\u94a5\u548c\u5bc6\u6587\u76ee\u5f55", "end_code_line": 65, "id": "mkcorpus_sntrup761.c|mkdir", "label": "mkcorpus_sntrup761.c|mkdir", "name": "mkcorpus_sntrup761.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\mkcorpus_sntrup761.c", "shape": "dot", "size": 10, "source_code": "62: \tif (mkdir(\"sntrup761_pubkey_corpus\", 0777) != 0 \u0026\u0026 errno != EEXIST)\n63: \t\terr(1, \"mkdir sntrup761_pubkey_corpus\");\n64: \tif (mkdir(\"sntrup761_ciphertext_corpus\", 0777) != 0 \u0026\u0026 errno != EEXIST)\n65: \t\terr(1, \"mkdir sntrup761_ciphertext_corpus\");", "source_name": "main", "start_code_line": 62, "target_name": "mkdir"}, {"color": "#97c2fc", "desc": "\u751f\u6210\u5bc6\u94a5\u5bf9", "end_code_line": 71, "id": "mkcorpus_sntrup761.c|crypto_kem_sntrup761_keypair", "label": "mkcorpus_sntrup761.c|crypto_kem_sntrup761_keypair", "name": "mkcorpus_sntrup761.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\mkcorpus_sntrup761.c", "shape": "dot", "size": 10, "source_code": "70: \t\tif (crypto_kem_sntrup761_keypair(pk, sk) != 0)\n71: \t\t\terrx(1, \"crypto_kem_sntrup761_keypair failed\");", "source_name": "main", "start_code_line": 70, "target_name": "crypto_kem_sntrup761_keypair"}, {"color": "#97c2fc", "desc": "\u52a0\u5bc6\u8fc7\u7a0b\u751f\u6210\u5bc6\u6587", "end_code_line": 74, "id": "mkcorpus_sntrup761.c|crypto_kem_sntrup761_enc", "label": "mkcorpus_sntrup761.c|crypto_kem_sntrup761_enc", "name": "mkcorpus_sntrup761.c", "path": "C:\\Users\\34834\\Desktop\\\u9ed1\u5ba2\\AiCodeAudits\\pythonProject\\\u6f14\u793a\u9879\u76ee\\openssh-9.9p1\\regress\\misc\\fuzz-harness\\mkcorpus_sntrup761.c", "shape": "dot", "size": 10, "source_code": "73: \t\tif (crypto_kem_sntrup761_enc(ciphertext, secret, pk) != 0)\n74: \t\t\terrx(1, \"crypto_kem_sntrup761_enc failed\");", "source_name": "main", "start_code_line": 73, "target_name": "crypto_kem_sntrup761_enc"}]);
                  edges = new vis.DataSet([{"from": "auth-bsdauth.c|bsdauth_init_ctx", "to": "auth-bsdauth.c|", "width": 1}, {"from": "auth-bsdauth.c|bsdauth_query", "to": "auth-bsdauth.c|debug2", "width": 1}, {"from": "auth-bsdauth.c|bsdauth_query", "to": "auth-bsdauth.c|auth_getitem", "width": 1}, {"from": "auth-bsdauth.c|bsdauth_query", "to": "auth-bsdauth.c|auth_close", "width": 1}, {"from": "auth-bsdauth.c|bsdauth_query", "to": "auth-bsdauth.c|auth_userchallenge", "width": 1}, {"from": "auth-bsdauth.c|bsdauth_query", "to": "auth-bsdauth.c|xstrdup", "width": 1}, {"from": "auth-bsdauth.c|bsdauth_query", "to": "auth-bsdauth.c|xcalloc", "width": 1}, {"from": "auth-bsdauth.c|bsdauth_respond", "to": "auth-bsdauth.c|auth_userresponse", "width": 1}, {"from": "auth-bsdauth.c|bsdauth_free_ctx", "to": "auth-bsdauth.c|auth_close", "width": 1}, {"from": "auth2-hostbased.c|userauth_hostbased", "to": "auth2-hostbased.c|sshpkt_get_cstring", "width": 1}, {"from": "auth2-hostbased.c|userauth_hostbased", "to": "auth2-hostbased.c|sshpkt_get_string", "width": 1}, {"from": "auth2-hostbased.c|userauth_hostbased", "to": "auth2-hostbased.c|debug_f", "width": 1}, {"from": "auth2-hostbased.c|userauth_hostbased", "to": "auth2-hostbased.c|sshkey_type_from_name", "width": 1}, {"from": "auth2-hostbased.c|userauth_hostbased", "to": "auth2-hostbased.c|logit_f", "width": 1}, {"from": "auth2-hostbased.c|userauth_hostbased", "to": "auth2-hostbased.c|sshkey_from_blob", "width": 1}, {"from": "auth2-hostbased.c|userauth_hostbased", "to": "auth2-hostbased.c|error_fr", "width": 1}, {"from": "auth2-hostbased.c|userauth_hostbased", "to": "auth2-hostbased.c|error_f", "width": 1}, {"from": "auth2-hostbased.c|userauth_hostbased", "to": "auth2-hostbased.c|match_pattern_list", "width": 1}, {"from": "auth2-hostbased.c|userauth_hostbased", "to": "auth2-hostbased.c|sshkey_check_cert_sigtype", "width": 1}, {"from": "auth2-hostbased.c|userauth_hostbased", "to": "auth2-hostbased.c|logit_fr", "width": 1}, {"from": "auth2-hostbased.c|userauth_hostbased", "to": "auth2-hostbased.c|sshkey_check_rsa_length", "width": 1}, {"from": "auth2-hostbased.c|userauth_hostbased", "to": "auth2-hostbased.c|logit_r", "width": 1}, {"from": "auth2-hostbased.c|userauth_hostbased", "to": "auth2-hostbased.c|sshbuf_new", "width": 1}, {"from": "auth2-hostbased.c|userauth_hostbased", "to": "auth2-hostbased.c|fatal_f", "width": 1}, {"from": "auth2-hostbased.c|userauth_hostbased", "to": "auth2-hostbased.c|sshbuf_put_stringb", "width": 1}, {"from": "auth2-hostbased.c|userauth_hostbased", "to": "auth2-hostbased.c|sshbuf_put_u8", "width": 1}, {"from": "auth2-hostbased.c|userauth_hostbased", "to": "auth2-hostbased.c|sshbuf_put_cstring", "width": 1}, {"from": "auth2-hostbased.c|userauth_hostbased", "to": "auth2-hostbased.c|fatal_fr", "width": 1}, {"from": "auth2-hostbased.c|userauth_hostbased", "to": "auth2-hostbased.c|auth2_record_info", "width": 1}, {"from": "auth2-hostbased.c|userauth_hostbased", "to": "auth2-hostbased.c|mm_hostbased_key_allowed", "width": 1}, {"from": "auth2-hostbased.c|userauth_hostbased", "to": "auth2-hostbased.c|mm_sshkey_verify", "width": 1}, {"from": "auth2-hostbased.c|userauth_hostbased", "to": "auth2-hostbased.c|auth2_record_key", "width": 1}, {"from": "auth2-hostbased.c|userauth_hostbased", "to": "auth2-hostbased.c|sshbuf_free", "width": 1}, {"from": "auth2-hostbased.c|hostbased_key_allowed", "to": "auth2-hostbased.c|auth_key_is_revoked", "width": 1}, {"from": "auth2-hostbased.c|hostbased_key_allowed", "to": "auth2-hostbased.c|auth_get_canonical_hostname", "width": 1}, {"from": "auth2-hostbased.c|hostbased_key_allowed", "to": "auth2-hostbased.c|ssh_remote_ipaddr", "width": 1}, {"from": "auth2-hostbased.c|hostbased_key_allowed", "to": "auth2-hostbased.c|auth_rhosts2", "width": 1}, {"from": "auth2-hostbased.c|hostbased_key_allowed", "to": "auth2-hostbased.c|strcasecmp", "width": 1}, {"from": "auth2-hostbased.c|hostbased_key_allowed", "to": "auth2-hostbased.c|sshkey_is_cert", "width": 1}, {"from": "auth2-hostbased.c|hostbased_key_allowed", "to": "auth2-hostbased.c|sshkey_cert_check_authority_now", "width": 1}, {"from": "auth2-hostbased.c|hostbased_key_allowed", "to": "auth2-hostbased.c|check_key_in_hostfiles", "width": 1}, {"from": "auth2-hostbased.c|hostbased_key_allowed", "to": "auth2-hostbased.c|sshkey_fingerprint", "width": 1}, {"from": "auth2-hostbased.c|hostbased_key_allowed", "to": "auth2-hostbased.c|verbose", "width": 1}, {"from": "auth2-hostbased.c|hostbased_key_allowed", "to": "auth2-hostbased.c|free", "width": 1}, {"from": "auth2-kbdint.c|userauth_kbdint", "to": "auth2-kbdint.c|sshpkt_get_cstring", "width": 1}, {"from": "auth2-kbdint.c|userauth_kbdint", "to": "auth2-kbdint.c|sshpkt_get_end", "width": 1}, {"from": "auth2-kbdint.c|userauth_kbdint", "to": "auth2-kbdint.c|fatal_fr", "width": 1}, {"from": "auth2-kbdint.c|userauth_kbdint", "to": "auth2-kbdint.c|debug", "width": 1}, {"from": "auth2-kbdint.c|userauth_kbdint", "to": "auth2-kbdint.c|auth2_challenge", "width": 1}, {"from": "auth2-kbdint.c|method_kbdint", "to": "auth2-kbdint.c|userauth_kbdint", "width": 1}, {"from": "auth2-passwd.c|userauth_passwd", "to": "auth2-passwd.c|sshpkt_get_u8", "width": 1}, {"from": "auth2-passwd.c|userauth_passwd", "to": "auth2-passwd.c|sshpkt_get_cstring", "width": 1}, {"from": "auth2-passwd.c|userauth_passwd", "to": "auth2-passwd.c|sshpkt_get_end", "width": 1}, {"from": "auth2-passwd.c|userauth_passwd", "to": "auth2-passwd.c|mm_auth_password", "width": 1}, {"from": "auth2-passwd.c|userauth_passwd", "to": "auth2-passwd.c|freezero", "width": 1}, {"from": "auth2-passwd.c|method_passwd", "to": "auth2-passwd.c|userauth_passwd", "width": 1}, {"from": "auth2-pubkey.c|format_key", "to": "auth2-pubkey.c|sshkey_fingerprint", "width": 1}, {"from": "auth2-pubkey.c|userauth_pubkey", "to": "auth2-pubkey.c|sshpkt_get_u8", "width": 1}, {"from": "auth2-pubkey.c|userauth_pubkey", "to": "auth2-pubkey.c|sshpkt_get_cstring", "width": 1}, {"from": "auth2-pubkey.c|userauth_pubkey", "to": "auth2-pubkey.c|sshpkt_get_string", "width": 1}, {"from": "auth2-pubkey.c|userauth_pubkey", "to": "auth2-pubkey.c|sshauthopt_free", "width": 1}, {"from": "auth2-pubkey.c|userauth_pubkey", "to": "auth2-pubkey.c|sshkey_free", "width": 1}, {"from": "auth2-pubkey.c|userauth_pubkey", "to": "auth2-pubkey.c|format_key", "width": 1}, {"from": "auth2-pubkey.c|user_key_allowed", "to": "auth2-pubkey.c|user_key_allowed2", "width": 1}, {"from": "auth2-pubkey.c|user_key_allowed", "to": "auth2-pubkey.c|user_cert_trusted_ca", "width": 1}, {"from": "auth2-pubkey.c|user_key_allowed", "to": "auth2-pubkey.c|user_key_command_allowed2", "width": 1}, {"from": "auth2-pubkey.c|user_key_allowed2", "to": "auth2-pubkey.c|auth_openkeyfile", "width": 1}, {"from": "auth2-pubkey.c|user_key_allowed2", "to": "auth2-pubkey.c|auth_check_authkeys_file", "width": 1}, {"from": "auth2-pubkey.c|user_cert_trusted_ca", "to": "auth2-pubkey.c|sshkey_fingerprint", "width": 1}, {"from": "auth2-pubkey.c|user_cert_trusted_ca", "to": "auth2-pubkey.c|sshkey_in_file", "width": 1}, {"from": "auth2-pubkey.c|user_key_command_allowed2", "to": "auth2-pubkey.c|auth_check_authkeys_file", "width": 1}, {"from": "auth2-pubkey.c|user_principals", "to": "auth2-pubkey.c|auth_openprincipals", "width": 1}, {"from": "auth2-pubkey.c|user_principals", "to": "auth2-pubkey.c|auth_process_principals", "width": 1}, {"from": "dispatch.c|dispatch_protocol_error", "to": "dispatch.c|logit", "width": 1}, {"from": "dispatch.c|dispatch_protocol_error", "to": "dispatch.c|sshpkt_start", "width": 1}, {"from": "dispatch.c|dispatch_protocol_error", "to": "dispatch.c|sshpkt_put_u32", "width": 1}, {"from": "dispatch.c|dispatch_protocol_error", "to": "dispatch.c|sshpkt_send", "width": 1}, {"from": "dispatch.c|dispatch_protocol_error", "to": "dispatch.c|ssh_packet_write_wait", "width": 1}, {"from": "dispatch.c|dispatch_protocol_error", "to": "dispatch.c|sshpkt_fatal", "width": 1}, {"from": "dispatch.c|dispatch_protocol_ignore", "to": "dispatch.c|logit", "width": 1}, {"from": "dispatch.c|ssh_dispatch_init", "to": "dispatch.c|", "width": 1}, {"from": "dispatch.c|ssh_dispatch_range", "to": "dispatch.c|", "width": 1}, {"from": "dispatch.c|ssh_dispatch_set", "to": "dispatch.c|", "width": 1}, {"from": "dispatch.c|ssh_dispatch_run", "to": "dispatch.c|ssh_packet_read_seqnr", "width": 1}, {"from": "dispatch.c|ssh_dispatch_run", "to": "dispatch.c|ssh_packet_read_poll_seqnr", "width": 1}, {"from": "dispatch.c|ssh_dispatch_run", "to": "dispatch.c|debug2", "width": 1}, {"from": "dispatch.c|ssh_dispatch_run", "to": "dispatch.c|ssh-\u003edispatch[type]", "width": 1}, {"from": "dispatch.c|ssh_dispatch_run", "to": "dispatch.c|sshpkt_disconnect", "width": 1}, {"from": "dispatch.c|ssh_dispatch_run_fatal", "to": "dispatch.c|ssh_dispatch_run", "width": 1}, {"from": "dispatch.c|ssh_dispatch_run_fatal", "to": "dispatch.c|sshpkt_fatal", "width": 1}, {"from": "hash.c|crypto_hash_sha512", "to": "hash.c|EVP_Digest", "width": 1}, {"from": "hash.c|crypto_hash_sha512", "to": "hash.c|SHA512Init", "width": 1}, {"from": "hash.c|crypto_hash_sha512", "to": "hash.c|SHA512Update", "width": 1}, {"from": "hash.c|crypto_hash_sha512", "to": "hash.c|SHA512Final", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb3", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_423", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_424", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb4", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb4", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_424", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_425", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb5", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb5", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_425", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_426", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb6", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb6", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_426", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_427", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb7", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb7", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_427", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_428", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb8", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb8", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_428", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_429", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb9", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb9", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_429", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4210", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb10", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb10", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4210", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4211", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb11", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb11", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4211", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4212", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb12", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb12", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4212", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4213", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb13", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb13", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4213", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4214", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb14", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb14", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4214", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4215", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb15", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb15", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4215", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4216", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb16", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb16", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4216", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4217", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb17", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb17", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4217", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4218", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb18", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb18", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4218", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4219", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb19", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb19", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4219", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4220", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_rotate_left_cb20", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_xor_and_rotate_5a_bb20", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak__vxarq_u64_4220", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_load_block_2c0", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_load_block_5a_b80", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_load_block_5a_b80", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_absorb_block_df0", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_keccakf1600_21", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_iota_62", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_load_block_full_df0", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_load_block_5a_b80", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_load_block_full_5a_d20", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_o_c", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_last_cf", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_first_block_84", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_first_block_84", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_next_block_fc", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_full_2d2", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_583", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_full_5a_292", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_full_2d2", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_first_and_last_c52", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_full_5a_292", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_5a_593", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_583", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_first_block_843", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_5a_593", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_next_block_fc3", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_keccakf1600_21", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_next_block_fc3", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_5a_593", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_last_cf2", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_keccakf1600_21", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_last_cf2", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_full_5a_292", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_load_block_5a_b83", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_load_block_2c1", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_absorb_block_df3", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_load_block_5a_b83", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_full_2d3", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_581", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_full_5a_293", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_full_2d3", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_first_and_last_c53", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_full_5a_293", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_last_cf3", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_keccakf1600_21", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_squeeze_last_cf3", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccak_store_block_full_5a_293", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccakx1_ce3", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_keccak_e93", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_sha384", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_keccakx1_ce3", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha224_ema", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_sha224", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha224", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha224_ema", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha256_ema", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_sha256", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha256", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha256_ema", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha384_ema", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_sha384", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha384", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha384_ema", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha512_ema", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_sha512", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha512", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_sha512_ema", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_fill_buffer_9d_b0", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_absorb_full_9d_f8", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_sha3_generic_keccak_absorb_9d_7b", "to": "libcrux_mlkem768_sha3.h|libcrux_sha3_portable_incremental_absorb_final", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_generate_keypair_fc", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_variant_cpa_keygen_seed_d8_0e", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_generate_keypair_fc", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_utils_into_padded_array_ea1", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_generate_keypair_fc", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_matrix_sample_matrix_A_38", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_generate_keypair_fc", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_utils_into_padded_array_ea2", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_generate_keypair_fc", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_sample_vector_cbd_then_ntt_fc", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_generate_keypair_fc", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_matrix_compute_As_plus_e_60", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_generate_keypair_fc", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_serialize_public_key_79", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_generate_keypair_fc", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_serialize_secret_key_b5", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_generate_keypair_fc", "to": "libcrux_mlkem768_sha3.h|memcpy", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_generate_keypair_fc", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_types_from_05_f2", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_generate_keypair_fc", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_types_from_17_35", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_decapsulate_700", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_decrypt_43", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_decapsulate_700", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_utils_into_padded_array_ea", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_decapsulate_700", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cpa_encrypt_60", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_variant_kdf_33_f0", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_hash_functions_portable_H_f1_1a", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_variant_kdf_33_f0", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_hash_functions_portable_PRF_f1_ee", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_instantiations_portable_kyber_encapsulate_7a", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_encapsulate_cd0", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_generate_keypair_8c0", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_variant_cpa_keygen_seed_33_b6", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_generate_keypair_8c0", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_generate_keypair_fc0", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_instantiations_portable_kyber_generate_keypair_9b", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_generate_keypair_8c0", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_mlkem768_portable_kyber_generate_key_pair", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_instantiations_portable_kyber_generate_keypair_9b", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_validate_private_key_e7", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_hash_functions_portable_H_f1_1a", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_instantiations_portable_validate_private_key_9c", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_validate_private_key_e7", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_mlkem768_portable_validate_private_key", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_instantiations_portable_validate_private_key_9c", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_validate_public_key_19", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_serialize_deserialize_ring_elements_reduced_330", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_instantiations_portable_validate_public_key_4b", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_validate_public_key_19", "width": 1}, {"from": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_mlkem768_portable_validate_public_key", "to": "libcrux_mlkem768_sha3.h|libcrux_ml_kem_ind_cca_instantiations_portable_validate_public_key_4b", "width": 1}, {"from": "msg.c|ssh_msg_send", "to": "msg.c|sshbuf_len", "width": 1}, {"from": "msg.c|ssh_msg_send", "to": "msg.c|put_u32", "width": 1}, {"from": "msg.c|ssh_msg_send", "to": "msg.c|atomicio", "width": 1}, {"from": "msg.c|ssh_msg_send", "to": "msg.c|error_f", "width": 1}, {"from": "msg.c|ssh_msg_recv", "to": "msg.c|atomicio", "width": 1}, {"from": "msg.c|ssh_msg_recv", "to": "msg.c|get_u32", "width": 1}, {"from": "msg.c|ssh_msg_recv", "to": "msg.c|sshbuf_reset", "width": 1}, {"from": "msg.c|ssh_msg_recv", "to": "msg.c|sshbuf_reserve", "width": 1}, {"from": "msg.c|ssh_msg_recv", "to": "msg.c|error_fr", "width": 1}, {"from": "msg.c|ssh_msg_recv", "to": "msg.c|error_f", "width": 1}, {"from": "platform-listen.c|platform_pre_listen", "to": "platform-listen.c|oom_adjust_setup", "width": 1}, {"from": "platform-listen.c|platform_post_listen", "to": "platform-listen.c|ssh_systemd_notify_ready", "width": 1}, {"from": "platform-listen.c|platform_pre_fork", "to": "platform-listen.c|solaris_contract_pre_fork", "width": 1}, {"from": "platform-listen.c|platform_pre_restart", "to": "platform-listen.c|ssh_systemd_notify_reload", "width": 1}, {"from": "platform-listen.c|platform_pre_restart", "to": "platform-listen.c|oom_adjust_restore", "width": 1}, {"from": "platform-listen.c|platform_post_fork_parent", "to": "platform-listen.c|solaris_contract_post_fork_parent", "width": 1}, {"from": "platform-listen.c|platform_post_fork_child", "to": "platform-listen.c|solaris_contract_post_fork_child", "width": 1}, {"from": "platform-listen.c|platform_post_fork_child", "to": "platform-listen.c|oom_adjust_restore", "width": 1}, {"from": "platform-pledge.c|platform_pledge_agent", "to": "platform-pledge.c|solaris_drop_privs_root_pinfo_net", "width": 1}, {"from": "platform-pledge.c|platform_pledge_sftp_server", "to": "platform-pledge.c|solaris_drop_privs_pinfo_net_fork_exec", "width": 1}, {"from": "platform-pledge.c|platform_pledge_mux", "to": "platform-pledge.c|solaris_drop_privs_root_pinfo_net_exec", "width": 1}, {"from": "platform-tracing.c|platform_disable_tracing", "to": "platform-tracing.c|procctl", "width": 1}, {"from": "platform-tracing.c|platform_disable_tracing", "to": "platform-tracing.c|prctl", "width": 1}, {"from": "platform-tracing.c|platform_disable_tracing", "to": "platform-tracing.c|setpflags", "width": 1}, {"from": "platform-tracing.c|platform_disable_tracing", "to": "platform-tracing.c|ptrace", "width": 1}, {"from": "platform-tracing.c|platform_disable_tracing", "to": "platform-tracing.c|", "width": 1}, {"from": "sftp-common.c|attrib_clear", "to": "sftp-common.c|", "width": 1}, {"from": "sftp-common.c|stat_to_attrib", "to": "sftp-common.c|attrib_clear", "width": 1}, {"from": "sftp-common.c|stat_to_attrib", "to": "sftp-common.c|", "width": 1}, {"from": "sftp-common.c|attrib_to_stat", "to": "sftp-common.c|", "width": 1}, {"from": "sftp-common.c|decode_attrib", "to": "sftp-common.c|attrib_clear", "width": 1}, {"from": "sftp-common.c|decode_attrib", "to": "sftp-common.c|sshbuf_get_u32", "width": 1}, {"from": "sftp-common.c|decode_attrib", "to": "sftp-common.c|sshbuf_get_u64", "width": 1}, {"from": "sftp-common.c|decode_attrib", "to": "sftp-common.c|sshbuf_get_cstring", "width": 1}, {"from": "sftp-common.c|encode_attrib", "to": "sftp-common.c|sshbuf_put_u32", "width": 1}, {"from": "sftp-common.c|encode_attrib", "to": "sftp-common.c|sshbuf_put_u64", "width": 1}, {"from": "sftp-common.c|fx2txt", "to": "sftp-common.c|", "width": 1}, {"from": "sftp-common.c|ls_file", "to": "sftp-common.c|localtime", "width": 1}, {"from": "sftp-common.c|ls_file", "to": "sftp-common.c|strmode", "width": 1}, {"from": "sftp-common.c|ls_file", "to": "sftp-common.c|user_from_uid", "width": 1}, {"from": "sftp-common.c|ls_file", "to": "sftp-common.c|group_from_gid", "width": 1}, {"from": "sftp-common.c|ls_file", "to": "sftp-common.c|time", "width": 1}, {"from": "sftp-common.c|ls_file", "to": "sftp-common.c|strftime", "width": 1}, {"from": "sftp-common.c|ls_file", "to": "sftp-common.c|MAXIMUM", "width": 1}, {"from": "sftp-common.c|ls_file", "to": "sftp-common.c|fmt_scaled", "width": 1}, {"from": "sftp-common.c|ls_file", "to": "sftp-common.c|xstrdup", "width": 1}, {"from": "sftp-server-main.c|cleanup_exit", "to": "sftp-server-main.c|sftp_server_cleanup_exit", "width": 1}, {"from": "sftp-server-main.c|main", "to": "sftp-server-main.c|sanitise_stdfd", "width": 1}, {"from": "sftp-server-main.c|main", "to": "sftp-server-main.c|getpwuid", "width": 1}, {"from": "sftp-server-main.c|main", "to": "sftp-server-main.c|getuid", "width": 1}, {"from": "sftp-server-main.c|main", "to": "sftp-server-main.c|fprintf", "width": 1}, {"from": "sftp-server-main.c|main", "to": "sftp-server-main.c|sftp_server_main", "width": 1}, {"from": "sftp-server.c|get_handle", "to": "sftp-server.c|sshbuf_get_u64", "width": 1}, {"from": "sftp-server.c|get_handle", "to": "sftp-server.c|fatal", "width": 1}, {"from": "sftp-server.c|debug", "to": "sftp-server.c|handle_to_name", "width": 1}, {"from": "sftp-server.c|debug", "to": "sftp-server.c|strcmp", "width": 1}, {"from": "sftp-server.c|lseek", "to": "sftp-server.c|handle_to_fd", "width": 1}, {"from": "sftp-server.c|lseek", "to": "sftp-server.c|errno_to_portable", "width": 1}, {"from": "sftp-server.c|atomicio", "to": "sftp-server.c|read", "width": 1}, {"from": "sftp-server.c|atomicio", "to": "sftp-server.c|vwrite", "width": 1}, {"from": "sftp-server.c|handle_update_read", "to": "sftp-server.c|handle_update_read", "width": 1}, {"from": "sftp-server.c|handle_update_write", "to": "sftp-server.c|handle_update_write", "width": 1}, {"from": "sftp-server.c|sshbuf_get_cstring", "to": "sftp-server.c|fatal_fr", "width": 1}, {"from": "sftp-server.c|getpwnam", "to": "sftp-server.c|send_status", "width": 1}, {"from": "sftp-server.c|sshbuf_new", "to": "sftp-server.c|fatal_f", "width": 1}, {"from": "sftp-server.c|sshbuf_froms", "to": "sftp-server.c|fatal_fr", "width": 1}, {"from": "sftp-server.c|sshbuf_get_u32", "to": "sftp-server.c|fatal_fr", "width": 1}, {"from": "sftp-server.c|getpwuid", "to": "sftp-server.c|debug3_f", "width": 1}, {"from": "sftp-server.c|sshbuf_put_cstring", "to": "sftp-server.c|fatal_fr", "width": 1}, {"from": "sftp-server.c|sshbuf_put_u8", "to": "sftp-server.c|fatal_fr", "width": 1}, {"from": "sftp-server.c|send_msg", "to": "sftp-server.c|sshbuf_free", "width": 1}, {"from": "sftp-server.c|extended_handler_byname", "to": "sftp-server.c|error", "width": 1}, {"from": "sftp-server.c|exthand-\u003ehandler", "to": "sftp-server.c|free", "width": 1}, {"from": "sftp-server.c|sshbuf_len", "to": "sftp-server.c|logit", "width": 1}, {"from": "sftp-server.c|sshbuf_get_u8", "to": "sftp-server.c|fatal_fr", "width": 1}, {"from": "sftp-server.c|sshbuf_check_reserve", "to": "sftp-server.c|fatal_fr", "width": 1}, {"from": "sftp-server.c|sshbuf_put", "to": "sftp-server.c|fatal_fr", "width": 1}, {"from": "sftp-server.c|process", "to": "sftp-server.c|sshbuf_check_reserve", "width": 1}, {"from": "sftp-usergroup.c|lookup_and_record", "to": "sftp-usergroup.c|sftp_get_users_groups_by_id", "width": 1}, {"from": "sftp-usergroup.c|lookup_and_record", "to": "sftp-usergroup.c|debug_fr", "width": 1}, {"from": "sftp-usergroup.c|lookup_and_record", "to": "sftp-usergroup.c|idname_enter", "width": 1}, {"from": "sftp-usergroup.c|lookup_and_record", "to": "sftp-usergroup.c|freenames", "width": 1}, {"from": "sftp-usergroup.c|get_remote_user_groups_from_glob", "to": "sftp-usergroup.c|sftp_can_get_users_groups_by_id", "width": 1}, {"from": "sftp-usergroup.c|get_remote_user_groups_from_glob", "to": "sftp-usergroup.c|collect_ids_from_glob", "width": 1}, {"from": "sftp-usergroup.c|get_remote_user_groups_from_glob", "to": "sftp-usergroup.c|lookup_and_record", "width": 1}, {"from": "sftp-usergroup.c|get_remote_user_groups_from_glob", "to": "sftp-usergroup.c|free", "width": 1}, {"from": "sftp-usergroup.c|get_remote_user_groups_from_dirents", "to": "sftp-usergroup.c|sftp_can_get_users_groups_by_id", "width": 1}, {"from": "sftp-usergroup.c|get_remote_user_groups_from_dirents", "to": "sftp-usergroup.c|collect_ids_from_dirents", "width": 1}, {"from": "sftp-usergroup.c|get_remote_user_groups_from_dirents", "to": "sftp-usergroup.c|lookup_and_record", "width": 1}, {"from": "sftp-usergroup.c|get_remote_user_groups_from_dirents", "to": "sftp-usergroup.c|free", "width": 1}, {"from": "sftp-usergroup.c|ruser_name", "to": "sftp-usergroup.c|idname_lookup", "width": 1}, {"from": "sftp-usergroup.c|rgroup_name", "to": "sftp-usergroup.c|idname_lookup", "width": 1}, {"from": "ssh-sk-helper.c|reply_error", "to": "ssh-sk-helper.c|debug", "width": 1}, {"from": "ssh-sk-helper.c|reply_error", "to": "ssh-sk-helper.c|sshbuf_new", "width": 1}, {"from": "ssh-sk-helper.c|reply_error", "to": "ssh-sk-helper.c|fatal_f", "width": 1}, {"from": "ssh-sk-helper.c|reply_error", "to": "ssh-sk-helper.c|free", "width": 1}, {"from": "ssh-sk-helper.c|null_empty", "to": "ssh-sk-helper.c|free", "width": 1}, {"from": "ssh-sk-helper.c|process_sign", "to": "ssh-sk-helper.c|sshbuf_froms", "width": 1}, {"from": "ssh-sk-helper.c|process_sign", "to": "ssh-sk-helper.c|sshbuf_get_cstring", "width": 1}, {"from": "ssh-sk-helper.c|process_sign", "to": "ssh-sk-helper.c|sshbuf_get_string_direct", "width": 1}, {"from": "ssh-sk-helper.c|process_sign", "to": "ssh-sk-helper.c|sshbuf_get_u32", "width": 1}, {"from": "ssh-sk-helper.c|process_sign", "to": "ssh-sk-helper.c|sshkey_private_deserialize", "width": 1}, {"from": "ssh-sk-helper.c|process_sign", "to": "ssh-sk-helper.c|sshkey_is_sk", "width": 1}, {"from": "ssh-sk-helper.c|process_sign", "to": "ssh-sk-helper.c|sshbuf_new", "width": 1}, {"from": "ssh-sk-helper.c|process_sign", "to": "ssh-sk-helper.c|sshbuf_put_u32", "width": 1}, {"from": "ssh-sk-helper.c|process_sign", "to": "ssh-sk-helper.c|sshbuf_put_string", "width": 1}, {"from": "ssh-sk-helper.c|process_enroll", "to": "ssh-sk-helper.c|sshbuf_new", "width": 1}, {"from": "ssh-sk-helper.c|process_enroll", "to": "ssh-sk-helper.c|sshbuf_get_u32", "width": 1}, {"from": "ssh-sk-helper.c|process_enroll", "to": "ssh-sk-helper.c|sshbuf_get_cstring", "width": 1}, {"from": "ssh-sk-helper.c|process_enroll", "to": "ssh-sk-helper.c|sshbuf_get_u8", "width": 1}, {"from": "ssh-sk-helper.c|process_enroll", "to": "ssh-sk-helper.c|sshkey_private_serialize", "width": 1}, {"from": "ssh-sk-helper.c|process_load_resident", "to": "ssh-sk-helper.c|sshbuf_new", "width": 1}, {"from": "ssh-sk-helper.c|process_load_resident", "to": "ssh-sk-helper.c|sshbuf_get_cstring", "width": 1}, {"from": "ssh-sk-helper.c|process_load_resident", "to": "ssh-sk-helper.c|sshsk_load_resident", "width": 1}, {"from": "ssh-sk-helper.c|process_load_resident", "to": "ssh-sk-helper.c|sshbuf_put_u32", "width": 1}, {"from": "ssh-sk-helper.c|main", "to": "ssh-sk-helper.c|sanitise_stdfd", "width": 1}, {"from": "ssh-sk-helper.c|main", "to": "ssh-sk-helper.c|log_init", "width": 1}, {"from": "ssh-sk-helper.c|main", "to": "ssh-sk-helper.c|sshbuf_new", "width": 1}, {"from": "ssh-sk-helper.c|main", "to": "ssh-sk-helper.c|ssh_msg_recv", "width": 1}, {"from": "ssh-sk-helper.c|main", "to": "ssh-sk-helper.c|sshbuf_get_u8", "width": 1}, {"from": "ssh-sk-helper.c|main", "to": "ssh-sk-helper.c|ssh_msg_send", "width": 1}, {"from": "sshbuf-io.c|sshbuf_load_fd", "to": "sshbuf-io.c|fstat", "width": 1}, {"from": "sshbuf-io.c|sshbuf_load_fd", "to": "sshbuf-io.c|sshbuf_new", "width": 1}, {"from": "sshbuf-io.c|sshbuf_load_fd", "to": "sshbuf-io.c|atomicio", "width": 1}, {"from": "sshbuf-io.c|sshbuf_load_fd", "to": "sshbuf-io.c|sshbuf_put", "width": 1}, {"from": "sshbuf-io.c|sshbuf_load_fd", "to": "sshbuf-io.c|sshbuf_len", "width": 1}, {"from": "sshbuf-io.c|sshbuf_load_fd", "to": "sshbuf-io.c|sshbuf_free", "width": 1}, {"from": "sshbuf-io.c|sshbuf_load_file", "to": "sshbuf-io.c|open", "width": 1}, {"from": "sshbuf-io.c|sshbuf_load_file", "to": "sshbuf-io.c|sshbuf_load_fd", "width": 1}, {"from": "sshbuf-io.c|sshbuf_write_file", "to": "sshbuf-io.c|open", "width": 1}, {"from": "sshbuf-io.c|sshbuf_write_file", "to": "sshbuf-io.c|atomicio", "width": 1}, {"from": "sshbuf-io.c|sshbuf_write_file", "to": "sshbuf-io.c|sshbuf_mutable_ptr", "width": 1}, {"from": "sshbuf-io.c|sshbuf_write_file", "to": "sshbuf-io.c|sshbuf_len", "width": 1}, {"from": "sshbuf-io.c|sshbuf_write_file", "to": "sshbuf-io.c|unlink", "width": 1}, {"from": "xmalloc.c|xmalloc", "to": "xmalloc.c|fatal", "width": 1}, {"from": "xmalloc.c|xcalloc", "to": "xmalloc.c|fatal", "width": 1}, {"from": "xmalloc.c|xreallocarray", "to": "xmalloc.c|fatal", "width": 1}, {"from": "xmalloc.c|xrecallocarray", "to": "xmalloc.c|fatal", "width": 1}, {"from": "xmalloc.c|xstrdup", "to": "xmalloc.c|xmalloc", "width": 1}, {"from": "xmalloc.c|xvasprintf", "to": "xmalloc.c|fatal", "width": 1}, {"from": "xmalloc.c|xasprintf", "to": "xmalloc.c|xvasprintf", "width": 1}, {"from": "xmss_hash.c|addr_to_byte", "to": "xmss_hash.c|to_byte", "width": 1}, {"from": "xmss_hash.c|core_hash_SHA2", "to": "xmss_hash.c|to_byte", "width": 1}, {"from": "xmss_hash.c|core_hash_SHA2", "to": "xmss_hash.c|SHA256", "width": 1}, {"from": "xmss_hash.c|core_hash_SHA2", "to": "xmss_hash.c|SHA512", "width": 1}, {"from": "xmss_hash.c|prf", "to": "xmss_hash.c|core_hash_SHA2", "width": 1}, {"from": "xmss_hash.c|h_msg", "to": "xmss_hash.c|core_hash_SHA2", "width": 1}, {"from": "xmss_hash.c|hash_h", "to": "xmss_hash.c|addr_to_byte", "width": 1}, {"from": "xmss_hash.c|hash_h", "to": "xmss_hash.c|prf", "width": 1}, {"from": "xmss_hash.c|hash_h", "to": "xmss_hash.c|core_hash_SHA2", "width": 1}, {"from": "xmss_hash.c|hash_f", "to": "xmss_hash.c|addr_to_byte", "width": 1}, {"from": "xmss_hash.c|hash_f", "to": "xmss_hash.c|prf", "width": 1}, {"from": "xmss_hash.c|hash_f", "to": "xmss_hash.c|core_hash_SHA2", "width": 1}, {"from": "xmss_wots.c|wots_log2", "to": "xmss_wots.c|\u8fd4\u56de\u8c03\u7528\u65b9\u5355\u5143\u540d\u79f0", "width": 1}, {"from": "xmss_wots.c|wots_set_params", "to": "xmss_wots.c|wots_log2", "width": 1}, {"from": "xmss_wots.c|expand_seed", "to": "xmss_wots.c|to_byte", "width": 1}, {"from": "xmss_wots.c|expand_seed", "to": "xmss_wots.c|prf", "width": 1}, {"from": "xmss_wots.c|gen_chain", "to": "xmss_wots.c|setHashADRS", "width": 1}, {"from": "xmss_wots.c|gen_chain", "to": "xmss_wots.c|hash_f", "width": 1}, {"from": "xmss_wots.c|base_w", "to": "xmss_wots.c|\u8fd4\u56de\u8c03\u7528\u65b9\u5355\u5143\u540d\u79f0", "width": 1}, {"from": "xmss_wots.c|wots_pkgen", "to": "xmss_wots.c|expand_seed", "width": 1}, {"from": "xmss_wots.c|wots_pkgen", "to": "xmss_wots.c|setChainADRS", "width": 1}, {"from": "xmss_wots.c|wots_pkgen", "to": "xmss_wots.c|gen_chain", "width": 1}, {"from": "xmss_wots.c|wots_sign", "to": "xmss_wots.c|calloc", "width": 1}, {"from": "xmss_wots.c|wots_sign", "to": "xmss_wots.c|base_w", "width": 1}, {"from": "xmss_wots.c|wots_sign", "to": "xmss_wots.c|to_byte", "width": 1}, {"from": "xmss_wots.c|wots_sign", "to": "xmss_wots.c|expand_seed", "width": 1}, {"from": "xmss_wots.c|wots_sign", "to": "xmss_wots.c|setChainADRS", "width": 1}, {"from": "xmss_wots.c|wots_sign", "to": "xmss_wots.c|gen_chain", "width": 1}, {"from": "xmss_wots.c|wots_pkFromSig", "to": "xmss_wots.c|calloc", "width": 1}, {"from": "xmss_wots.c|wots_pkFromSig", "to": "xmss_wots.c|base_w", "width": 1}, {"from": "xmss_wots.c|wots_pkFromSig", "to": "xmss_wots.c|to_byte", "width": 1}, {"from": "xmss_wots.c|wots_pkFromSig", "to": "xmss_wots.c|setChainADRS", "width": 1}, {"from": "xmss_wots.c|wots_pkFromSig", "to": "xmss_wots.c|gen_chain", "width": 1}, {"from": "gnome-ssh-askpass1.c|report_failed_grab", "to": "gnome-ssh-askpass1.c|gnome_message_box_new", "width": 1}, {"from": "gnome-ssh-askpass1.c|report_failed_grab", "to": "gnome-ssh-askpass1.c|gtk_window_set_position", "width": 1}, {"from": "gnome-ssh-askpass1.c|report_failed_grab", "to": "gnome-ssh-askpass1.c|gtk_object_set", "width": 1}, {"from": "gnome-ssh-askpass1.c|passphrase_dialog", "to": "gnome-ssh-askpass1.c|gnome_dialog_new", "width": 1}, {"from": "gnome-ssh-askpass1.c|passphrase_dialog", "to": "gnome-ssh-askpass1.c|g_strsplit", "width": 1}, {"from": "gnome-ssh-askpass1.c|passphrase_dialog", "to": "gnome-ssh-askpass1.c|gtk_label_new", "width": 1}, {"from": "gnome-ssh-askpass1.c|passphrase_dialog", "to": "gnome-ssh-askpass1.c|gtk_box_pack_start", "width": 1}, {"from": "gnome-ssh-askpass1.c|passphrase_dialog", "to": "gnome-ssh-askpass1.c|gtk_entry_new", "width": 1}, {"from": "gnome-ssh-askpass1.c|passphrase_dialog", "to": "gnome-ssh-askpass1.c|gtk_entry_set_visibility", "width": 1}, {"from": "gnome-ssh-askpass1.c|passphrase_dialog", "to": "gnome-ssh-askpass1.c|gtk_widget_grab_focus", "width": 1}, {"from": "gnome-ssh-askpass1.c|passphrase_dialog", "to": "gnome-ssh-askpass1.c|gtk_object_set", "width": 1}, {"from": "gnome-ssh-askpass1.c|passphrase_dialog", "to": "gnome-ssh-askpass1.c|gnome_dialog_set_default", "width": 1}, {"from": "gnome-ssh-askpass1.c|passphrase_dialog", "to": "gnome-ssh-askpass1.c|gtk_window_set_position", "width": 1}, {"from": "gnome-ssh-askpass1.c|passphrase_dialog", "to": "gnome-ssh-askpass1.c|gtk_window_set_policy", "width": 1}, {"from": "gnome-ssh-askpass1.c|passphrase_dialog", "to": "gnome-ssh-askpass1.c|gtk_container_set_border_width", "width": 1}, {"from": "gnome-ssh-askpass1.c|passphrase_dialog", "to": "gnome-ssh-askpass1.c|gtk_widget_show_all", "width": 1}, {"from": "gnome-ssh-askpass1.c|passphrase_dialog", "to": "gnome-ssh-askpass1.c|XGrabServer", "width": 1}, {"from": "gnome-ssh-askpass1.c|passphrase_dialog", "to": "gnome-ssh-askpass1.c|gdk_pointer_grab", "width": 1}, {"from": "gnome-ssh-askpass1.c|passphrase_dialog", "to": "gnome-ssh-askpass1.c|gdk_keyboard_grab", "width": 1}, {"from": "gnome-ssh-askpass1.c|passphrase_dialog", "to": "gnome-ssh-askpass1.c|gnome_dialog_editable_enters", "width": 1}, {"from": "gnome-ssh-askpass1.c|passphrase_dialog", "to": "gnome-ssh-askpass1.c|gnome_dialog_run", "width": 1}, {"from": "gnome-ssh-askpass1.c|passphrase_dialog", "to": "gnome-ssh-askpass1.c|XUngrabServer", "width": 1}, {"from": "gnome-ssh-askpass1.c|passphrase_dialog", "to": "gnome-ssh-askpass1.c|gdk_pointer_ungrab", "width": 1}, {"from": "gnome-ssh-askpass1.c|passphrase_dialog", "to": "gnome-ssh-askpass1.c|gdk_keyboard_ungrab", "width": 1}, {"from": "gnome-ssh-askpass1.c|passphrase_dialog", "to": "gnome-ssh-askpass1.c|gtk_entry_get_text", "width": 1}, {"from": "gnome-ssh-askpass1.c|main", "to": "gnome-ssh-askpass1.c|gnome_init", "width": 1}, {"from": "gnome-ssh-askpass1.c|main", "to": "gnome-ssh-askpass1.c|passphrase_dialog", "width": 1}, {"from": "gnome-ssh-askpass2.c|report_failed_grab", "to": "gnome-ssh-askpass2.c|gtk_message_dialog_new", "width": 1}, {"from": "gnome-ssh-askpass2.c|report_failed_grab", "to": "gnome-ssh-askpass2.c|gtk_dialog_run", "width": 1}, {"from": "gnome-ssh-askpass2.c|ok_dialog", "to": "gnome-ssh-askpass2.c|gtk_dialog_response", "width": 1}, {"from": "gnome-ssh-askpass2.c|check_none", "to": "gnome-ssh-askpass2.c|gtk_dialog_response", "width": 1}, {"from": "gnome-ssh-askpass2.c|check_none", "to": "gnome-ssh-askpass2.c|gtk_widget_grab_focus", "width": 1}, {"from": "gnome-ssh-askpass2.c|parse_env_hex_color", "to": "gnome-ssh-askpass2.c|getenv", "width": 1}, {"from": "gnome-ssh-askpass2.c|parse_env_hex_color", "to": "gnome-ssh-askpass2.c|strtoul", "width": 1}, {"from": "gnome-ssh-askpass2.c|passphrase_dialog", "to": "gnome-ssh-askpass2.c|gtk_window_new", "width": 1}, {"from": "gnome-ssh-askpass2.c|passphrase_dialog", "to": "gnome-ssh-askpass2.c|gtk_message_dialog_new", "width": 1}, {"from": "gnome-ssh-askpass2.c|passphrase_dialog", "to": "gnome-ssh-askpass2.c|gtk_widget_modify_fg", "width": 1}, {"from": "gnome-ssh-askpass2.c|passphrase_dialog", "to": "gnome-ssh-askpass2.c|gtk_widget_modify_bg", "width": 1}, {"from": "gnome-ssh-askpass2.c|passphrase_dialog", "to": "gnome-ssh-askpass2.c|gtk_entry_new", "width": 1}, {"from": "gnome-ssh-askpass2.c|passphrase_dialog", "to": "gnome-ssh-askpass2.c|g_signal_connect", "width": 1}, {"from": "gnome-ssh-askpass2.c|passphrase_dialog", "to": "gnome-ssh-askpass2.c|gdk_pointer_grab", "width": 1}, {"from": "gnome-ssh-askpass2.c|passphrase_dialog", "to": "gnome-ssh-askpass2.c|gdk_keyboard_grab", "width": 1}, {"from": "gnome-ssh-askpass2.c|passphrase_dialog", "to": "gnome-ssh-askpass2.c|gtk_dialog_run", "width": 1}, {"from": "gnome-ssh-askpass2.c|passphrase_dialog", "to": "gnome-ssh-askpass2.c|g_strdup", "width": 1}, {"from": "gnome-ssh-askpass2.c|passphrase_dialog", "to": "gnome-ssh-askpass2.c|g_locale_from_utf8", "width": 1}, {"from": "gnome-ssh-askpass2.c|passphrase_dialog", "to": "gnome-ssh-askpass2.c|g_free", "width": 1}, {"from": "gnome-ssh-askpass2.c|passphrase_dialog", "to": "gnome-ssh-askpass2.c|gtk_widget_destroy", "width": 1}, {"from": "gnome-ssh-askpass2.c|main", "to": "gnome-ssh-askpass2.c|gtk_init", "width": 1}, {"from": "gnome-ssh-askpass2.c|main", "to": "gnome-ssh-askpass2.c|g_strjoinv", "width": 1}, {"from": "gnome-ssh-askpass2.c|main", "to": "gnome-ssh-askpass2.c|g_free", "width": 1}, {"from": "gnome-ssh-askpass2.c|main", "to": "gnome-ssh-askpass2.c|passphrase_dialog", "width": 1}, {"from": "bsd-asprintf.c|vasprintf", "to": "bsd-asprintf.c|malloc", "width": 1}, {"from": "bsd-asprintf.c|vasprintf", "to": "bsd-asprintf.c|vsnprintf", "width": 1}, {"from": "bsd-asprintf.c|vasprintf", "to": "bsd-asprintf.c|realloc", "width": 1}, {"from": "bsd-asprintf.c|asprintf", "to": "bsd-asprintf.c|va_start", "width": 1}, {"from": "bsd-asprintf.c|asprintf", "to": "bsd-asprintf.c|vasprintf", "width": 1}, {"from": "bsd-asprintf.c|asprintf", "to": "bsd-asprintf.c|va_end", "width": 1}, {"from": "sha1.c|SHA1Transform", "to": "sha1.c|memcpy", "width": 1}, {"from": "sha1.c|SHA1Transform", "to": "sha1.c|SHA1Transform", "width": 1}, {"from": "sha1.c|SHA1Init", "to": "sha1.c|", "width": 1}, {"from": "sha1.c|SHA1Update", "to": "sha1.c|memcpy", "width": 1}, {"from": "sha1.c|SHA1Update", "to": "sha1.c|SHA1Transform", "width": 1}, {"from": "sha1.c|SHA1Pad", "to": "sha1.c|SHA1Update", "width": 1}, {"from": "sha1.c|SHA1Final", "to": "sha1.c|SHA1Pad", "width": 1}, {"from": "sha1.c|SHA1Final", "to": "sha1.c|explicit_bzero", "width": 1}, {"from": "check-perm.c|fatal", "to": "check-perm.c|vfprintf", "width": 1}, {"from": "check-perm.c|fatal", "to": "check-perm.c|exit", "width": 1}, {"from": "check-perm.c|safely_chroot", "to": "check-perm.c|fatal", "width": 1}, {"from": "check-perm.c|safely_chroot", "to": "check-perm.c|chdir", "width": 1}, {"from": "check-perm.c|platform_sys_dir_uid", "to": "check-perm.c|return", "width": 1}, {"from": "check-perm.c|auth_secure_path", "to": "check-perm.c|realpath", "width": 1}, {"from": "check-perm.c|auth_secure_path", "to": "check-perm.c|snprintf", "width": 1}, {"from": "check-perm.c|auth_secure_path", "to": "check-perm.c|platform_sys_dir_uid", "width": 1}, {"from": "check-perm.c|auth_secure_path", "to": "check-perm.c|dirname", "width": 1}, {"from": "check-perm.c|auth_secure_path", "to": "check-perm.c|stat", "width": 1}, {"from": "check-perm.c|auth_secure_path", "to": "check-perm.c|strcmp", "width": 1}, {"from": "check-perm.c|usage", "to": "check-perm.c|fprintf", "width": 1}, {"from": "check-perm.c|usage", "to": "check-perm.c|exit", "width": 1}, {"from": "check-perm.c|main", "to": "check-perm.c|getuid", "width": 1}, {"from": "check-perm.c|main", "to": "check-perm.c|stat", "width": 1}, {"from": "check-perm.c|main", "to": "check-perm.c|auth_secure_path", "width": 1}, {"from": "check-perm.c|main", "to": "check-perm.c|fprintf", "width": 1}, {"from": "netcat.c|main", "to": "netcat.c|signal", "width": 1}, {"from": "netcat.c|main", "to": "netcat.c|getopt", "width": 1}, {"from": "netcat.c|main", "to": "netcat.c|usage", "width": 1}, {"from": "netcat.c|main", "to": "netcat.c|local_listen", "width": 1}, {"from": "netcat.c|local_listen", "to": "netcat.c|getaddrinfo", "width": 1}, {"from": "netcat.c|local_listen", "to": "netcat.c|socket", "width": 1}, {"from": "netcat.c|local_listen", "to": "netcat.c|setsockopt", "width": 1}, {"from": "netcat.c|local_listen", "to": "netcat.c|bind", "width": 1}, {"from": "netcat.c|local_listen", "to": "netcat.c|listen", "width": 1}, {"from": "netcat.c|unix_bind", "to": "netcat.c|socket", "width": 1}, {"from": "netcat.c|unix_bind", "to": "netcat.c|bind", "width": 1}, {"from": "netcat.c|unix_connect", "to": "netcat.c|socket", "width": 1}, {"from": "netcat.c|unix_connect", "to": "netcat.c|connect", "width": 1}, {"from": "netcat.c|remote_connect", "to": "netcat.c|getaddrinfo", "width": 1}, {"from": "netcat.c|remote_connect", "to": "netcat.c|socket", "width": 1}, {"from": "netcat.c|remote_connect", "to": "netcat.c|setsockopt", "width": 1}, {"from": "netcat.c|socks_connect", "to": "netcat.c|remote_connect", "width": 1}, {"from": "netcat.c|socks_connect", "to": "netcat.c|decode_addrport", "width": 1}, {"from": "netcat.c|socks_connect", "to": "netcat.c|atomicio", "width": 1}, {"from": "netcat.c|socks_connect", "to": "netcat.c|read", "width": 1}, {"from": "agent_fuzz_helper.c|devnull_or_die", "to": "agent_fuzz_helper.c|open", "width": 1}, {"from": "agent_fuzz_helper.c|devnull_or_die", "to": "agent_fuzz_helper.c|error_f", "width": 1}, {"from": "agent_fuzz_helper.c|pubkey_or_die", "to": "agent_fuzz_helper.c|sshkey_new", "width": 1}, {"from": "agent_fuzz_helper.c|pubkey_or_die", "to": "agent_fuzz_helper.c|sshkey_read", "width": 1}, {"from": "agent_fuzz_helper.c|pubkey_or_die", "to": "agent_fuzz_helper.c|error_fr", "width": 1}, {"from": "agent_fuzz_helper.c|privkey_or_die", "to": "agent_fuzz_helper.c|sshbuf_from", "width": 1}, {"from": "agent_fuzz_helper.c|privkey_or_die", "to": "agent_fuzz_helper.c|error_f", "width": 1}, {"from": "agent_fuzz_helper.c|privkey_or_die", "to": "agent_fuzz_helper.c|sshkey_parse_private_fileblob", "width": 1}, {"from": "agent_fuzz_helper.c|privkey_or_die", "to": "agent_fuzz_helper.c|error_fr", "width": 1}, {"from": "agent_fuzz_helper.c|add_key", "to": "agent_fuzz_helper.c|privkey_or_die", "width": 1}, {"from": "agent_fuzz_helper.c|add_key", "to": "agent_fuzz_helper.c|pubkey_or_die", "width": 1}, {"from": "agent_fuzz_helper.c|add_key", "to": "agent_fuzz_helper.c|sshkey_to_certified", "width": 1}, {"from": "agent_fuzz_helper.c|add_key", "to": "agent_fuzz_helper.c|sshkey_cert_copy", "width": 1}, {"from": "agent_fuzz_helper.c|cleanup_idtab", "to": "agent_fuzz_helper.c|TAILQ_FIRST", "width": 1}, {"from": "agent_fuzz_helper.c|cleanup_idtab", "to": "agent_fuzz_helper.c|TAILQ_REMOVE", "width": 1}, {"from": "agent_fuzz_helper.c|reset_idtab", "to": "agent_fuzz_helper.c|cleanup_idtab", "width": 1}, {"from": "agent_fuzz_helper.c|reset_idtab", "to": "agent_fuzz_helper.c|idtab_init", "width": 1}, {"from": "agent_fuzz_helper.c|reset_sockettab", "to": "agent_fuzz_helper.c|cleanup_sockettab", "width": 1}, {"from": "agent_fuzz_helper.c|reset_sockettab", "to": "agent_fuzz_helper.c|dup", "width": 1}, {"from": "agent_fuzz_helper.c|reset_sockettab", "to": "agent_fuzz_helper.c|new_socket", "width": 1}, {"from": "agent_fuzz_helper.c|test_one", "to": "agent_fuzz_helper.c|log_init", "width": 1}, {"from": "agent_fuzz_helper.c|test_one", "to": "agent_fuzz_helper.c|devnull_or_die", "width": 1}, {"from": "agent_fuzz_helper.c|test_one", "to": "agent_fuzz_helper.c|reset_idtab", "width": 1}, {"from": "agent_fuzz_helper.c|test_one", "to": "agent_fuzz_helper.c|reset_sockettab", "width": 1}, {"from": "agent_fuzz_helper.c|test_one", "to": "agent_fuzz_helper.c|sshbuf_put", "width": 1}, {"from": "agent_fuzz_helper.c|test_one", "to": "agent_fuzz_helper.c|process_message", "width": 1}, {"from": "agent_fuzz_helper.c|test_one", "to": "agent_fuzz_helper.c|cleanup_idtab", "width": 1}, {"from": "agent_fuzz_helper.c|test_one", "to": "agent_fuzz_helper.c|cleanup_sockettab", "width": 1}, {"from": "agent_fuzz_helper.c|pkcs11_make_cert", "to": "agent_fuzz_helper.c|", "width": 1}, {"from": "mkcorpus_sntrup761.c|randombytes", "to": "mkcorpus_sntrup761.c|arc4random_buf", "width": 1}, {"from": "mkcorpus_sntrup761.c|write_blob", "to": "mkcorpus_sntrup761.c|fopen", "width": 1}, {"from": "mkcorpus_sntrup761.c|write_blob", "to": "mkcorpus_sntrup761.c|fwrite", "width": 1}, {"from": "mkcorpus_sntrup761.c|main", "to": "mkcorpus_sntrup761.c|mkdir", "width": 1}, {"from": "mkcorpus_sntrup761.c|main", "to": "mkcorpus_sntrup761.c|crypto_kem_sntrup761_keypair", "width": 1}, {"from": "mkcorpus_sntrup761.c|main", "to": "mkcorpus_sntrup761.c|write_blob", "width": 1}, {"from": "mkcorpus_sntrup761.c|main", "to": "mkcorpus_sntrup761.c|crypto_kem_sntrup761_enc", "width": 1}]);

                  nodeColors = {};
                  allNodes = nodes.get({ returnType: "Object" });
                  for (nodeId in allNodes) {
                    nodeColors[nodeId] = allNodes[nodeId].color;
                  }
                  allEdges = edges.get({ returnType: "Object" });
                  // adding nodes and edges to the graph
                  data = {nodes: nodes, edges: edges};

                  var options = {
    "configure": {
        "enabled": false
    },
    "edges": {
        "color": {
            "inherit": true
        },
        "smooth": {
            "enabled": true,
            "type": "dynamic"
        }
    },
    "interaction": {
        "dragNodes": true,
        "hideEdgesOnDrag": false,
        "hideNodesOnDrag": false
    },
    "physics": {
        "enabled": true,
        "stabilization": {
            "enabled": true,
            "fit": true,
            "iterations": 1000,
            "onlyDynamicEdges": false,
            "updateInterval": 50
        }
    }
};

                  


                  

                  network = new vis.Network(container, data, options);

                  

                  

                  


                  
                      network.on("stabilizationProgress", function(params) {
                          document.getElementById('loadingBar').removeAttribute("style");
                          var maxWidth = 496;
                          var minWidth = 20;
                          var widthFactor = params.iterations/params.total;
                          var width = Math.max(minWidth,maxWidth * widthFactor);
                          document.getElementById('bar').style.width = width + 'px';
                          document.getElementById('text').innerHTML = Math.round(widthFactor*100) + '%';
                      });
                      network.once("stabilizationIterationsDone", function() {
                          document.getElementById('text').innerHTML = '100%';
                          document.getElementById('bar').style.width = '496px';
                          document.getElementById('loadingBar').style.opacity = 0;
                          // really clean the dom element
                          setTimeout(function () {document.getElementById('loadingBar').style.display = 'none';}, 500);
                      });
                  

                  return network;

              }
              drawGraph();
        </script>
    </body>
</html>